mirror of
				https://github.com/brmlab/brmsklad.git
				synced 2025-10-31 00:03:58 +01:00 
			
		
		
		
	Upgrade CakePHP from 2.2.5 to 2.9.5
This commit is contained in:
		
							parent
							
								
									5a580df460
								
							
						
					
					
						commit
						235a541597
					
				
					 793 changed files with 60746 additions and 23753 deletions
				
			
		|  | @ -4,23 +4,57 @@ | |||
|  * | ||||
|  * Test Case for CakeTestCase class | ||||
|  * | ||||
|  * PHP version 5 | ||||
|  * | ||||
|  * CakePHP : Rapid Development Framework (http://cakephp.org) | ||||
|  * Copyright 2005-2012, Cake Software Foundation, Inc. | ||||
|  * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * | ||||
|  * Licensed under The MIT License | ||||
|  * For full copyright and license information, please see the LICENSE.txt | ||||
|  * Redistributions of files must retain the above copyright notice. | ||||
|  * | ||||
|  * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. | ||||
|  * @copyright     Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org) | ||||
|  * @link          http://cakephp.org CakePHP Project | ||||
|  * @package       Cake.Test.Case.TestSuite | ||||
|  * @since         CakePHP v 1.2.0.4487 | ||||
|  * @license       MIT License (http://www.opensource.org/licenses/mit-license.php) | ||||
|  * @license       http://www.opensource.org/licenses/mit-license.php MIT License | ||||
|  */ | ||||
| 
 | ||||
| App::uses('CakePlugin', 'Core'); | ||||
| App::uses('Controller', 'Controller'); | ||||
| App::uses('CakeHtmlReporter', 'TestSuite/Reporter'); | ||||
| App::uses('Model', 'Model'); | ||||
| 
 | ||||
| /** | ||||
|  * Secondary Post stub class. | ||||
|  */ | ||||
| class SecondaryPost extends Model { | ||||
| 
 | ||||
| /** | ||||
|  * @var string | ||||
|  */ | ||||
| 	public $useTable = 'posts'; | ||||
| 
 | ||||
| /** | ||||
|  * @var string | ||||
|  */ | ||||
| 	public $useDbConfig = 'secondary'; | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * ConstructorPost test stub. | ||||
|  */ | ||||
| class ConstructorPost extends Model { | ||||
| 
 | ||||
| /** | ||||
|  * @var string | ||||
|  */ | ||||
| 	public $useTable = 'posts'; | ||||
| 
 | ||||
| 	public function __construct($id = false, $table = null, $ds = null) { | ||||
| 		parent::__construct($id, $table, $ds); | ||||
| 		$this->getDataSource()->cacheMethods = false; | ||||
| 	} | ||||
| 
 | ||||
| } | ||||
| 
 | ||||
| /** | ||||
|  * CakeTestCaseTest | ||||
|  | @ -29,6 +63,18 @@ App::uses('CakeHtmlReporter', 'TestSuite/Reporter'); | |||
|  */ | ||||
| class CakeTestCaseTest extends CakeTestCase { | ||||
| 
 | ||||
| /** | ||||
|  * fixtures property | ||||
|  * | ||||
|  * @var array | ||||
|  */ | ||||
| 	public $fixtures = array('core.post', 'core.author', 'core.test_plugin_comment'); | ||||
| 
 | ||||
| /** | ||||
|  * CakeTestCaseTest::setUpBeforeClass() | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public static function setUpBeforeClass() { | ||||
| 		require_once CAKE . 'Test' . DS . 'Fixture' . DS . 'AssertTagsTestCase.php'; | ||||
| 		require_once CAKE . 'Test' . DS . 'Fixture' . DS . 'FixturizedTestCase.php'; | ||||
|  | @ -56,24 +102,31 @@ class CakeTestCaseTest extends CakeTestCase { | |||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testAssertGoodTags | ||||
|  * testAssertTags | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testAssertTagsQuotes() { | ||||
| 	public function testAssertTagsBasic() { | ||||
| 		$test = new AssertTagsTestCase('testAssertTagsQuotes'); | ||||
| 		$result = $test->run(); | ||||
| 		$this->assertEquals(0, $result->errorCount()); | ||||
| 		$this->assertTrue($result->wasSuccessful()); | ||||
| 		$this->assertEquals(0, $result->failureCount()); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * test assertTags works with single and double quotes | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testAssertTagsQuoting() { | ||||
| 		$input = '<a href="/test.html" class="active">My link</a>'; | ||||
| 		$pattern = array( | ||||
| 			'a' => array('href' => '/test.html', 'class' => 'active'), | ||||
| 			'My link', | ||||
| 			'/a' | ||||
| 		); | ||||
| 		$this->assertTrue($test->assertTags($input, $pattern), 'Double quoted attributes %s'); | ||||
| 		$this->assertTags($input, $pattern); | ||||
| 
 | ||||
| 		$input = "<a href='/test.html' class='active'>My link</a>"; | ||||
| 		$pattern = array( | ||||
|  | @ -81,7 +134,7 @@ class CakeTestCaseTest extends CakeTestCase { | |||
| 			'My link', | ||||
| 			'/a' | ||||
| 		); | ||||
| 		$this->assertTrue($test->assertTags($input, $pattern), 'Single quoted attributes %s'); | ||||
| 		$this->assertTags($input, $pattern); | ||||
| 
 | ||||
| 		$input = "<a href='/test.html' class='active'>My link</a>"; | ||||
| 		$pattern = array( | ||||
|  | @ -89,7 +142,7 @@ class CakeTestCaseTest extends CakeTestCase { | |||
| 			'My link', | ||||
| 			'/a' | ||||
| 		); | ||||
| 		$this->assertTrue($test->assertTags($input, $pattern), 'Single quoted attributes %s'); | ||||
| 		$this->assertTags($input, $pattern); | ||||
| 
 | ||||
| 		$input = "<span><strong>Text</strong></span>"; | ||||
| 		$pattern = array( | ||||
|  | @ -99,7 +152,7 @@ class CakeTestCaseTest extends CakeTestCase { | |||
| 			'/strong', | ||||
| 			'/span' | ||||
| 		); | ||||
| 		$this->assertTrue($test->assertTags($input, $pattern), 'Tags with no attributes'); | ||||
| 		$this->assertTags($input, $pattern); | ||||
| 
 | ||||
| 		$input = "<span class='active'><strong>Text</strong></span>"; | ||||
| 		$pattern = array( | ||||
|  | @ -109,7 +162,34 @@ class CakeTestCaseTest extends CakeTestCase { | |||
| 			'/strong', | ||||
| 			'/span' | ||||
| 		); | ||||
| 		$this->assertTrue($test->assertTags($input, $pattern), 'Test attribute presence'); | ||||
| 		$this->assertTags($input, $pattern); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * Test that assertTags runs quickly. | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testAssertTagsRuntimeComplexity() { | ||||
| 		$pattern = array( | ||||
| 			'div' => array( | ||||
| 				'attr1' => 'val1', | ||||
| 				'attr2' => 'val2', | ||||
| 				'attr3' => 'val3', | ||||
| 				'attr4' => 'val4', | ||||
| 				'attr5' => 'val5', | ||||
| 				'attr6' => 'val6', | ||||
| 				'attr7' => 'val7', | ||||
| 				'attr8' => 'val8', | ||||
| 			), | ||||
| 			'My div', | ||||
| 			'/div' | ||||
| 		); | ||||
| 		$input = '<div attr8="val8" attr6="val6" attr4="val4" attr2="val2"' . | ||||
| 			' attr1="val1" attr3="val3" attr5="val5" attr7="val7" />' . | ||||
| 			'My div' . | ||||
| 			'</div>'; | ||||
| 		$this->assertTags($input, $pattern); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  | @ -264,7 +344,6 @@ class CakeTestCaseTest extends CakeTestCase { | |||
|  */ | ||||
| 	public function testAssertTextStartsWith() { | ||||
| 		$stringDirty = "some\nstring\r\nwith\rdifferent\nline endings!"; | ||||
| 		$stringClean = "some\nstring\nwith\ndifferent\nline endings!"; | ||||
| 
 | ||||
| 		$this->assertStringStartsWith("some\nstring", $stringDirty); | ||||
| 		$this->assertStringStartsNotWith("some\r\nstring\r\nwith", $stringDirty); | ||||
|  | @ -281,8 +360,6 @@ class CakeTestCaseTest extends CakeTestCase { | |||
|  */ | ||||
| 	public function testAssertTextStartsNotWith() { | ||||
| 		$stringDirty = "some\nstring\r\nwith\rdifferent\nline endings!"; | ||||
| 		$stringClean = "some\nstring\nwith\ndifferent\nline endings!"; | ||||
| 
 | ||||
| 		$this->assertTextStartsNotWith("some\nstring\nwithout", $stringDirty); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -293,8 +370,6 @@ class CakeTestCaseTest extends CakeTestCase { | |||
|  */ | ||||
| 	public function testAssertTextEndsWith() { | ||||
| 		$stringDirty = "some\nstring\r\nwith\rdifferent\nline endings!"; | ||||
| 		$stringClean = "some\nstring\nwith\ndifferent\nline endings!"; | ||||
| 
 | ||||
| 		$this->assertTextEndsWith("string\nwith\r\ndifferent\rline endings!", $stringDirty); | ||||
| 		$this->assertTextEndsWith("string\r\nwith\ndifferent\nline endings!", $stringDirty); | ||||
| 	} | ||||
|  | @ -306,8 +381,6 @@ class CakeTestCaseTest extends CakeTestCase { | |||
|  */ | ||||
| 	public function testAssertTextEndsNotWith() { | ||||
| 		$stringDirty = "some\nstring\r\nwith\rdifferent\nline endings!"; | ||||
| 		$stringClean = "some\nstring\nwith\ndifferent\nline endings!"; | ||||
| 
 | ||||
| 		$this->assertStringEndsNotWith("different\nline endings", $stringDirty); | ||||
| 		$this->assertTextEndsNotWith("different\rline endings", $stringDirty); | ||||
| 	} | ||||
|  | @ -319,11 +392,8 @@ class CakeTestCaseTest extends CakeTestCase { | |||
|  */ | ||||
| 	public function testAssertTextContains() { | ||||
| 		$stringDirty = "some\nstring\r\nwith\rdifferent\nline endings!"; | ||||
| 		$stringClean = "some\nstring\nwith\ndifferent\nline endings!"; | ||||
| 
 | ||||
| 		$this->assertContains("different", $stringDirty); | ||||
| 		$this->assertNotContains("different\rline", $stringDirty); | ||||
| 
 | ||||
| 		$this->assertTextContains("different\rline", $stringDirty); | ||||
| 	} | ||||
| 
 | ||||
|  | @ -334,9 +404,126 @@ class CakeTestCaseTest extends CakeTestCase { | |||
|  */ | ||||
| 	public function testAssertTextNotContains() { | ||||
| 		$stringDirty = "some\nstring\r\nwith\rdifferent\nline endings!"; | ||||
| 		$stringClean = "some\nstring\nwith\ndifferent\nline endings!"; | ||||
| 
 | ||||
| 		$this->assertTextNotContains("different\rlines", $stringDirty); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * test getMockForModel() | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetMockForModel() { | ||||
| 		App::build(array( | ||||
| 			'Model' => array( | ||||
| 				CAKE . 'Test' . DS . 'test_app' . DS . 'Model' . DS | ||||
| 			) | ||||
| 		), App::RESET); | ||||
| 		$Post = $this->getMockForModel('Post'); | ||||
| 		$this->assertEquals('test', $Post->useDbConfig); | ||||
| 		$this->assertInstanceOf('Post', $Post); | ||||
| 		$this->assertNull($Post->save(array())); | ||||
| 		$this->assertNull($Post->find('all')); | ||||
| 		$this->assertEquals('posts', $Post->useTable); | ||||
| 
 | ||||
| 		$Post = $this->getMockForModel('Post', array('save')); | ||||
| 
 | ||||
| 		$this->assertNull($Post->save(array())); | ||||
| 		$this->assertInternalType('array', $Post->find('all')); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * Test getMockForModel on secondary datasources. | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetMockForModelSecondaryDatasource() { | ||||
| 		App::build(array( | ||||
| 			'Plugin' => array(CAKE . 'Test' . DS . 'test_app' . DS . 'Plugin' . DS), | ||||
| 			'Model/Datasource/Database' => array( | ||||
| 				CAKE . 'Test' . DS . 'test_app' . DS . 'Model' . DS . 'Datasource' . DS . 'Database' . DS | ||||
| 			) | ||||
| 		), App::RESET); | ||||
| 		CakePlugin::load('TestPlugin'); | ||||
| 		ConnectionManager::create('test_secondary', array( | ||||
| 			'datasource' => 'Database/TestLocalDriver' | ||||
| 		)); | ||||
| 		$post = $this->getMockForModel('SecondaryPost', array('save')); | ||||
| 		$this->assertEquals('test_secondary', $post->useDbConfig); | ||||
| 		ConnectionManager::drop('test_secondary'); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * Test getMockForModel when the model accesses the datasource in the constructor. | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetMockForModelConstructorDatasource() { | ||||
| 		$post = $this->getMockForModel('ConstructorPost', array('save'), array('ds' => 'test')); | ||||
| 		$this->assertEquals('test', $post->useDbConfig); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * test getMockForModel() with plugin models | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetMockForModelWithPlugin() { | ||||
| 		App::build(array( | ||||
| 			'Plugin' => array( | ||||
| 				CAKE . 'Test' . DS . 'test_app' . DS . 'Plugin' . DS | ||||
| 			) | ||||
| 		), App::RESET); | ||||
| 		CakePlugin::load('TestPlugin'); | ||||
| 		$this->getMockForModel('TestPlugin.TestPluginAppModel'); | ||||
| 		$this->getMockForModel('TestPlugin.TestPluginComment'); | ||||
| 
 | ||||
| 		$result = ClassRegistry::init('TestPlugin.TestPluginComment'); | ||||
| 		$this->assertInstanceOf('TestPluginComment', $result); | ||||
| 		$this->assertEquals('test', $result->useDbConfig); | ||||
| 
 | ||||
| 		$TestPluginComment = $this->getMockForModel('TestPlugin.TestPluginComment', array('save')); | ||||
| 
 | ||||
| 		$this->assertInstanceOf('TestPluginComment', $TestPluginComment); | ||||
| 		$TestPluginComment->expects($this->at(0)) | ||||
| 			->method('save') | ||||
| 			->will($this->returnValue(true)); | ||||
| 		$TestPluginComment->expects($this->at(1)) | ||||
| 			->method('save') | ||||
| 			->will($this->returnValue(false)); | ||||
| 		$this->assertTrue($TestPluginComment->save(array())); | ||||
| 		$this->assertFalse($TestPluginComment->save(array())); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testGetMockForModelModel | ||||
|  * | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetMockForModelModel() { | ||||
| 		$Mock = $this->getMockForModel('Model', array('save', 'setDataSource'), array('name' => 'Comment')); | ||||
| 
 | ||||
| 		$result = ClassRegistry::init('Comment'); | ||||
| 		$this->assertInstanceOf('Model', $result); | ||||
| 
 | ||||
| 		$Mock->expects($this->at(0)) | ||||
| 			->method('save') | ||||
| 			->will($this->returnValue(true)); | ||||
| 		$Mock->expects($this->at(1)) | ||||
| 			->method('save') | ||||
| 			->will($this->returnValue(false)); | ||||
| 
 | ||||
| 		$this->assertTrue($Mock->save(array())); | ||||
| 		$this->assertFalse($Mock->save(array())); | ||||
| 	} | ||||
| 
 | ||||
| /** | ||||
|  * testGetMockForModelDoesNotExist | ||||
|  * | ||||
|  * @expectedException MissingModelException | ||||
|  * @expectedExceptionMessage Model IDoNotExist could not be found | ||||
|  * @return void | ||||
|  */ | ||||
| 	public function testGetMockForModelDoesNotExist() { | ||||
| 		$this->getMockForModel('IDoNotExist'); | ||||
| 	} | ||||
| } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brm Ko
						Brm Ko