mirror of
https://github.com/brmlab/brmsklad.git
synced 2025-08-05 15:43:53 +02: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