mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2025-01-19 02:56:15 +00:00
Merge branch '2.0-phpunit' of github.com:cakephp/cakephp into 2.0-phpunit
Conflicts: cake/tests/cases/libs/controller/components/session.test.php
This commit is contained in:
commit
bc71e14041
8 changed files with 194 additions and 155 deletions
|
@ -88,6 +88,28 @@ class SessionComponent extends CakeSession {
|
||||||
$this->__active = true;
|
$this->__active = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Check if the session is active. Returns the private __active flag.
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function active() {
|
||||||
|
return $this->__active;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get / Set the userAgent
|
||||||
|
*
|
||||||
|
* @param string $userAgent Set the userAgent
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function userAgent($userAgent = null) {
|
||||||
|
if ($userAgent) {
|
||||||
|
$this->_userAgent = $userAgent;
|
||||||
|
}
|
||||||
|
return $this->_userAgent;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to write a value to a session key.
|
* Used to write a value to a session key.
|
||||||
*
|
*
|
||||||
|
|
|
@ -152,7 +152,7 @@ class BasicsTest extends CakeTestCase {
|
||||||
|
|
||||||
$_SERVER = $_ENV = array();
|
$_SERVER = $_ENV = array();
|
||||||
|
|
||||||
$this->assertFalse(env('TEST_ME'));
|
$this->assertNull(env('TEST_ME'));
|
||||||
|
|
||||||
$_ENV['TEST_ME'] = 'a';
|
$_ENV['TEST_ME'] = 'a';
|
||||||
$this->assertEqual(env('TEST_ME'), 'a');
|
$this->assertEqual(env('TEST_ME'), 'a');
|
||||||
|
@ -237,7 +237,7 @@ class BasicsTest extends CakeTestCase {
|
||||||
|
|
||||||
Configure::write('Cache.disable', false);
|
Configure::write('Cache.disable', false);
|
||||||
$result = cache('basics_test', 'simple cache write');
|
$result = cache('basics_test', 'simple cache write');
|
||||||
$this->assertTrue($result);
|
$this->assertTrue((boolean)$result);
|
||||||
$this->assertTrue(file_exists(CACHE . 'basics_test'));
|
$this->assertTrue(file_exists(CACHE . 'basics_test'));
|
||||||
|
|
||||||
$result = cache('basics_test');
|
$result = cache('basics_test');
|
||||||
|
|
|
@ -20,6 +20,7 @@
|
||||||
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
* @license MIT License (http://www.opensource.org/licenses/mit-license.php)
|
||||||
*/
|
*/
|
||||||
App::import('Shell', 'Shell', false);
|
App::import('Shell', 'Shell', false);
|
||||||
|
App::import('Core', array('File'));
|
||||||
|
|
||||||
if (!defined('DISABLE_AUTO_DISPATCH')) {
|
if (!defined('DISABLE_AUTO_DISPATCH')) {
|
||||||
define('DISABLE_AUTO_DISPATCH', true);
|
define('DISABLE_AUTO_DISPATCH', true);
|
||||||
|
@ -35,17 +36,6 @@ if (!class_exists('ShellDispatcher')) {
|
||||||
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'plugin.php';
|
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'plugin.php';
|
||||||
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'model.php';
|
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'model.php';
|
||||||
|
|
||||||
Mock::generatePartial(
|
|
||||||
'ShellDispatcher', 'TestPluginTaskMockShellDispatcher',
|
|
||||||
array('getInput', 'stdout', 'stderr', '_stop', '_initEnvironment')
|
|
||||||
);
|
|
||||||
Mock::generatePartial(
|
|
||||||
'PluginTask', 'MockPluginTask',
|
|
||||||
array('in', '_stop', 'err', 'out', 'createFile')
|
|
||||||
);
|
|
||||||
|
|
||||||
Mock::generate('ModelTask', 'PluginTestMockModelTask');
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* PluginTaskPlugin class
|
* PluginTaskPlugin class
|
||||||
*
|
*
|
||||||
|
@ -54,16 +44,23 @@ Mock::generate('ModelTask', 'PluginTestMockModelTask');
|
||||||
*/
|
*/
|
||||||
class PluginTaskTest extends CakeTestCase {
|
class PluginTaskTest extends CakeTestCase {
|
||||||
|
|
||||||
|
public static $_paths = array();
|
||||||
|
|
||||||
|
public static $_testPath = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* startTest method
|
* startTest method
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function startTest() {
|
public function startTest() {
|
||||||
$this->Dispatcher =& new TestPluginTaskMockShellDispatcher();
|
$this->Dispatcher = $this->getMock('ShellDispatcher', array(
|
||||||
$this->Dispatcher->shellPaths = App::path('shells');
|
'getInput', 'stdout', 'stderr', '_stop', '_initEnvironment'
|
||||||
$this->Task =& new MockPluginTask($this->Dispatcher);
|
));
|
||||||
$this->Task->Dispatch =& $this->Dispatcher;
|
$this->Task = $this->getMock('PluginTask',
|
||||||
|
array('in', 'err', 'createFile', '_stop'),
|
||||||
|
array(&$this->Dispatcher)
|
||||||
|
);
|
||||||
$this->Task->path = TMP . 'tests' . DS;
|
$this->Task->path = TMP . 'tests' . DS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,9 +69,9 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function startCase() {
|
public static function setUpBeforeClass() {
|
||||||
$this->_paths = $paths = App::path('plugins');
|
self::$_paths = $paths = App::path('plugins');
|
||||||
$this->_testPath = array_push($paths, TMP . 'tests' . DS);
|
self::$_testPath = array_push($paths, TMP . 'tests' . DS);
|
||||||
App::build(array('plugins' => $paths));
|
App::build(array('plugins' => $paths));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,8 +80,8 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function endCase() {
|
public static function tearDownAfterClass() {
|
||||||
App::build(array('plugins' => $this->_paths));
|
App::build(array('plugins' => self::$_paths));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -102,8 +99,19 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testBakeFoldersAndFiles() {
|
public function testBakeFoldersAndFiles() {
|
||||||
$this->Task->setReturnValueAt(0, 'in', $this->_testPath);
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue(self::$_testPath));
|
||||||
$this->Task->setReturnValueAt(1, 'in', 'y');
|
$this->Task->expects($this->at(1))->method('in')->will($this->returnValue('y'));
|
||||||
|
|
||||||
|
$path = $this->Task->path . 'bake_test_plugin';
|
||||||
|
|
||||||
|
$file = $path . DS . 'bake_test_plugin_app_controller.php';
|
||||||
|
$this->Task->expects($this->at(3))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
|
$file = $path . DS . 'bake_test_plugin_app_model.php';
|
||||||
|
$this->Task->expects($this->at(4))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
$this->Task->bake('BakeTestPlugin');
|
$this->Task->bake('BakeTestPlugin');
|
||||||
|
|
||||||
$path = $this->Task->path . 'bake_test_plugin';
|
$path = $this->Task->path . 'bake_test_plugin';
|
||||||
|
@ -173,13 +181,7 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
$this->assertTrue(is_dir($path . DS . 'libs'), 'No libs dir %s');
|
$this->assertTrue(is_dir($path . DS . 'libs'), 'No libs dir %s');
|
||||||
$this->assertTrue(is_dir($path . DS . 'webroot'), 'No webroot dir %s');
|
$this->assertTrue(is_dir($path . DS . 'webroot'), 'No webroot dir %s');
|
||||||
|
|
||||||
$file = $path . DS . 'bake_test_plugin_app_controller.php';
|
$Folder = new Folder($this->Task->path . 'bake_test_plugin');
|
||||||
$this->Task->expectAt(0, 'createFile', array($file, '*'), 'No AppController %s');
|
|
||||||
|
|
||||||
$file = $path . DS . 'bake_test_plugin_app_model.php';
|
|
||||||
$this->Task->expectAt(1, 'createFile', array($file, '*'), 'No AppModel %s');
|
|
||||||
|
|
||||||
$Folder =& new Folder($this->Task->path . 'bake_test_plugin');
|
|
||||||
$Folder->delete();
|
$Folder->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -189,22 +191,24 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testExecuteWithNoArgs() {
|
public function testExecuteWithNoArgs() {
|
||||||
$this->Task->setReturnValueAt(0, 'in', 'TestPlugin');
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue('TestPlugin'));
|
||||||
$this->Task->setReturnValueAt(1, 'in', '3');
|
$this->Task->expects($this->at(1))->method('in')->will($this->returnValue('3'));
|
||||||
$this->Task->setReturnValueAt(2, 'in', 'y');
|
$this->Task->expects($this->at(2))->method('in')->will($this->returnValue('y'));
|
||||||
$this->Task->setReturnValueAt(3, 'in', 'n');
|
$this->Task->expects($this->at(3))->method('in')->will($this->returnValue('n'));
|
||||||
|
|
||||||
$path = $this->Task->path . 'test_plugin';
|
$path = $this->Task->path . 'test_plugin';
|
||||||
$file = $path . DS . 'test_plugin_app_controller.php';
|
$file = $path . DS . 'test_plugin_app_controller.php';
|
||||||
$this->Task->expectAt(0, 'createFile', array($file, '*'), 'No AppController %s');
|
$this->Task->expects($this->at(4))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
$file = $path . DS . 'test_plugin_app_model.php';
|
$file = $path . DS . 'test_plugin_app_model.php';
|
||||||
$this->Task->expectAt(1, 'createFile', array($file, '*'), 'No AppModel %s');
|
$this->Task->expects($this->at(5))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
$this->Task->args = array();
|
$this->Task->args = array();
|
||||||
$this->Task->execute();
|
$this->Task->execute();
|
||||||
|
|
||||||
$Folder =& new Folder($path);
|
$Folder = new Folder($path);
|
||||||
$Folder->delete();
|
$Folder->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -214,21 +218,27 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testExecuteWithOneArg() {
|
public function testExecuteWithOneArg() {
|
||||||
$this->Task->setReturnValueAt(0, 'in', $this->_testPath);
|
$this->Task->expects($this->at(0))->method('in')
|
||||||
$this->Task->setReturnValueAt(1, 'in', 'y');
|
->will($this->returnValue(self::$_testPath));
|
||||||
$this->Task->Dispatch->args = array('BakeTestPlugin');
|
$this->Task->expects($this->at(1))->method('in')
|
||||||
$this->Task->args =& $this->Task->Dispatch->args;
|
->will($this->returnValue('y'));
|
||||||
|
|
||||||
$path = $this->Task->path . 'bake_test_plugin';
|
$path = $this->Task->path . 'bake_test_plugin';
|
||||||
$file = $path . DS . 'bake_test_plugin_app_controller.php';
|
$file = $path . DS . 'bake_test_plugin_app_controller.php';
|
||||||
$this->Task->expectAt(0, 'createFile', array($file, '*'), 'No AppController %s');
|
$this->Task->expects($this->at(3))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
|
$path = $this->Task->path . 'bake_test_plugin';
|
||||||
$file = $path . DS . 'bake_test_plugin_app_model.php';
|
$file = $path . DS . 'bake_test_plugin_app_model.php';
|
||||||
$this->Task->expectAt(1, 'createFile', array($file, '*'), 'No AppModel %s');
|
$this->Task->expects($this->at(4))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
|
$this->Task->Dispatch->args = array('BakeTestPlugin');
|
||||||
|
$this->Task->args =& $this->Task->Dispatch->args;
|
||||||
|
|
||||||
$this->Task->execute();
|
$this->Task->execute();
|
||||||
|
|
||||||
$Folder =& new Folder($this->Task->path . 'bake_test_plugin');
|
$Folder = new Folder($this->Task->path . 'bake_test_plugin');
|
||||||
$Folder->delete();
|
$Folder->delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,17 +248,18 @@ class PluginTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testExecuteWithTwoArgs() {
|
public function testExecuteWithTwoArgs() {
|
||||||
$this->Task->Model =& new PluginTestMockModelTask();
|
$this->Task->Model = $this->getMock('ModelTask', array(), array(&$this->Dispatcher));
|
||||||
$this->Task->setReturnValueAt(0, 'in', $this->_testPath);
|
|
||||||
$this->Task->setReturnValueAt(1, 'in', 'y');
|
|
||||||
|
|
||||||
$Folder =& new Folder($this->Task->path . 'bake_test_plugin', true);
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue(self::$_testPath));
|
||||||
|
|
||||||
|
$this->Task->Model->expects($this->once())->method('loadTasks');
|
||||||
|
$this->Task->Model->expects($this->once())->method('execute');
|
||||||
|
|
||||||
|
$Folder = new Folder($this->Task->path . 'bake_test_plugin', true);
|
||||||
|
|
||||||
$this->Task->Dispatch->args = array('BakeTestPlugin', 'model');
|
$this->Task->Dispatch->args = array('BakeTestPlugin', 'model');
|
||||||
$this->Task->args =& $this->Task->Dispatch->args;
|
$this->Task->args = $this->Task->Dispatch->args;
|
||||||
|
|
||||||
$this->Task->Model->expectOnce('loadTasks');
|
|
||||||
$this->Task->Model->expectOnce('execute');
|
|
||||||
$this->Task->execute();
|
$this->Task->execute();
|
||||||
$Folder->delete();
|
$Folder->delete();
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,16 +37,6 @@ if (!class_exists('ShellDispatcher')) {
|
||||||
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'test.php';
|
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'test.php';
|
||||||
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'template.php';
|
require_once CAKE . 'console' . DS . 'libs' . DS . 'tasks' . DS . 'template.php';
|
||||||
|
|
||||||
|
|
||||||
Mock::generatePartial(
|
|
||||||
'ShellDispatcher', 'TestTestTaskMockShellDispatcher',
|
|
||||||
array('getInput', 'stdout', 'stderr', '_stop', '_initEnvironment')
|
|
||||||
);
|
|
||||||
Mock::generatePartial(
|
|
||||||
'TestTask', 'MockTestTask',
|
|
||||||
array('in', '_stop', 'err', 'out', 'createFile', 'isLoadableClass')
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test Article model
|
* Test Article model
|
||||||
*
|
*
|
||||||
|
@ -258,11 +248,15 @@ class TestTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function startTest() {
|
public function startTest() {
|
||||||
$this->Dispatcher =& new TestTestTaskMockShellDispatcher();
|
$this->Dispatcher = $this->getMock('ShellDispatcher', array(
|
||||||
|
'getInput', 'stdout', 'stderr', '_stop', '_initEnvironment'
|
||||||
|
));
|
||||||
|
$this->Task = $this->getMock('TestTask',
|
||||||
|
array('in', 'err', 'createFile', '_stop', 'isLoadableClass'),
|
||||||
|
array(&$this->Dispatcher)
|
||||||
|
);
|
||||||
$this->Dispatcher->shellPaths = App::path('shells');
|
$this->Dispatcher->shellPaths = App::path('shells');
|
||||||
$this->Task =& new MockTestTask($this->Dispatcher);
|
|
||||||
$this->Task->name = 'TestTask';
|
$this->Task->name = 'TestTask';
|
||||||
$this->Task->Dispatch =& $this->Dispatcher;
|
|
||||||
$this->Task->Template =& new TemplateTask($this->Dispatcher);
|
$this->Task->Template =& new TemplateTask($this->Dispatcher);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -280,21 +274,24 @@ class TestTaskTest extends CakeTestCase {
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testFilePathGeneration() {
|
public function testFilePathGenerationModelRepeated() {
|
||||||
|
$this->Task->Dispatch->expects($this->never())->method('stderr');
|
||||||
|
$this->Task->Dispatch->expects($this->never())->method('_stop');
|
||||||
|
|
||||||
$file = TESTS . 'cases' . DS . 'models' . DS . 'my_class.test.php';
|
$file = TESTS . 'cases' . DS . 'models' . DS . 'my_class.test.php';
|
||||||
|
|
||||||
$this->Task->Dispatch->expectNever('stderr');
|
$this->Task->expects($this->at(1))->method('createFile')
|
||||||
$this->Task->Dispatch->expectNever('_stop');
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
$this->Task->setReturnValue('in', 'y');
|
$this->Task->expects($this->at(3))->method('createFile')
|
||||||
$this->Task->expectAt(0, 'createFile', array($file, '*'));
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
$this->Task->bake('Model', 'MyClass');
|
|
||||||
|
|
||||||
$this->Task->expectAt(1, 'createFile', array($file, '*'));
|
|
||||||
$this->Task->bake('Model', 'MyClass');
|
|
||||||
|
|
||||||
$file = TESTS . 'cases' . DS . 'controllers' . DS . 'comments_controller.test.php';
|
$file = TESTS . 'cases' . DS . 'controllers' . DS . 'comments_controller.test.php';
|
||||||
$this->Task->expectAt(2, 'createFile', array($file, '*'));
|
$this->Task->expects($this->at(5))->method('createFile')
|
||||||
|
->with($file, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
|
$this->Task->bake('Model', 'MyClass');
|
||||||
|
$this->Task->bake('Model', 'MyClass');
|
||||||
$this->Task->bake('Controller', 'Comments');
|
$this->Task->bake('Controller', 'Comments');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -344,11 +341,12 @@ class TestTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testGetObjectType() {
|
public function testGetObjectType() {
|
||||||
$this->Task->expectOnce('_stop');
|
$this->Task->expects($this->once())->method('_stop');
|
||||||
$this->Task->setReturnValueAt(0, 'in', 'q');
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue('q'));
|
||||||
|
$this->Task->expects($this->at(2))->method('in')->will($this->returnValue(2));
|
||||||
|
|
||||||
$this->Task->getObjectType();
|
$this->Task->getObjectType();
|
||||||
|
|
||||||
$this->Task->setReturnValueAt(1, 'in', 2);
|
|
||||||
$result = $this->Task->getObjectType();
|
$result = $this->Task->getObjectType();
|
||||||
$this->assertEqual($result, $this->Task->classTypes[1]);
|
$this->assertEqual($result, $this->Task->classTypes[1]);
|
||||||
}
|
}
|
||||||
|
@ -388,11 +386,12 @@ class TestTaskTest extends CakeTestCase {
|
||||||
if ($skip) {
|
if ($skip) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
$this->Task->setReturnValueAt(0, 'in', 'MyCustomClass');
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue('MyCustomClass'));
|
||||||
|
$this->Task->expects($this->at(1))->method('in')->will($this->returnValue(1));
|
||||||
|
|
||||||
$result = $this->Task->getClassName('Model');
|
$result = $this->Task->getClassName('Model');
|
||||||
$this->assertEqual($result, 'MyCustomClass');
|
$this->assertEqual($result, 'MyCustomClass');
|
||||||
|
|
||||||
$this->Task->setReturnValueAt(1, 'in', 1);
|
|
||||||
$result = $this->Task->getClassName('Model');
|
$result = $this->Task->getClassName('Model');
|
||||||
$options = App::objects('model');
|
$options = App::objects('model');
|
||||||
$this->assertEqual($result, $options[0]);
|
$this->assertEqual($result, $options[0]);
|
||||||
|
@ -404,8 +403,10 @@ class TestTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testGetUserFixtures() {
|
public function testGetUserFixtures() {
|
||||||
$this->Task->setReturnValueAt(0, 'in', 'y');
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue('y'));
|
||||||
$this->Task->setReturnValueAt(1, 'in', 'app.pizza, app.topping, app.side_dish');
|
$this->Task->expects($this->at(1))->method('in')
|
||||||
|
->will($this->returnValue('app.pizza, app.topping, app.side_dish'));
|
||||||
|
|
||||||
$result = $this->Task->getUserFixtures();
|
$result = $this->Task->getUserFixtures();
|
||||||
$expected = array('app.pizza', 'app.topping', 'app.side_dish');
|
$expected = array('app.pizza', 'app.topping', 'app.side_dish');
|
||||||
$this->assertEqual($result, $expected);
|
$this->assertEqual($result, $expected);
|
||||||
|
@ -440,8 +441,8 @@ class TestTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testBakeModelTest() {
|
public function testBakeModelTest() {
|
||||||
$this->Task->setReturnValue('createFile', true);
|
$this->Task->expects($this->once())->method('createFile')->will($this->returnValue(true));
|
||||||
$this->Task->setReturnValue('isLoadableClass', true);
|
$this->Task->expects($this->once())->method('isLoadableClass')->will($this->returnValue(true));
|
||||||
|
|
||||||
$result = $this->Task->bake('Model', 'TestTaskArticle');
|
$result = $this->Task->bake('Model', 'TestTaskArticle');
|
||||||
|
|
||||||
|
@ -458,9 +459,7 @@ class TestTaskTest extends CakeTestCase {
|
||||||
$this->assertPattern('/function testDoSomethingElse\(\)/i', $result);
|
$this->assertPattern('/function testDoSomethingElse\(\)/i', $result);
|
||||||
|
|
||||||
$this->assertPattern("/'app\.test_task_article'/", $result);
|
$this->assertPattern("/'app\.test_task_article'/", $result);
|
||||||
if (PHP5) {
|
$this->assertPattern("/'plugin\.test_task\.test_task_comment'/", $result);
|
||||||
$this->assertPattern("/'plugin\.test_task\.test_task_comment'/", $result);
|
|
||||||
}
|
|
||||||
$this->assertPattern("/'app\.test_task_tag'/", $result);
|
$this->assertPattern("/'app\.test_task_tag'/", $result);
|
||||||
$this->assertPattern("/'app\.articles_tag'/", $result);
|
$this->assertPattern("/'app\.articles_tag'/", $result);
|
||||||
}
|
}
|
||||||
|
@ -473,8 +472,8 @@ class TestTaskTest extends CakeTestCase {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function testBakeControllerTest() {
|
public function testBakeControllerTest() {
|
||||||
$this->Task->setReturnValue('createFile', true);
|
$this->Task->expects($this->once())->method('createFile')->will($this->returnValue(true));
|
||||||
$this->Task->setReturnValue('isLoadableClass', true);
|
$this->Task->expects($this->once())->method('isLoadableClass')->will($this->returnValue(true));
|
||||||
|
|
||||||
$result = $this->Task->bake('Controller', 'TestTaskComments');
|
$result = $this->Task->bake('Controller', 'TestTaskComments');
|
||||||
|
|
||||||
|
@ -493,9 +492,7 @@ class TestTaskTest extends CakeTestCase {
|
||||||
$this->assertPattern('/unset\(\$this->TestTaskComments\)/', $result);
|
$this->assertPattern('/unset\(\$this->TestTaskComments\)/', $result);
|
||||||
|
|
||||||
$this->assertPattern("/'app\.test_task_article'/", $result);
|
$this->assertPattern("/'app\.test_task_article'/", $result);
|
||||||
if (PHP5) {
|
$this->assertPattern("/'plugin\.test_task\.test_task_comment'/", $result);
|
||||||
$this->assertPattern("/'plugin\.test_task\.test_task_comment'/", $result);
|
|
||||||
}
|
|
||||||
$this->assertPattern("/'app\.test_task_tag'/", $result);
|
$this->assertPattern("/'app\.test_task_tag'/", $result);
|
||||||
$this->assertPattern("/'app\.articles_tag'/", $result);
|
$this->assertPattern("/'app\.articles_tag'/", $result);
|
||||||
}
|
}
|
||||||
|
@ -538,7 +535,9 @@ class TestTaskTest extends CakeTestCase {
|
||||||
$this->Task->plugin = 'TestTest';
|
$this->Task->plugin = 'TestTest';
|
||||||
|
|
||||||
$path = APP . 'plugins' . DS . 'test_test' . DS . 'tests' . DS . 'cases' . DS . 'helpers' . DS . 'form.test.php';
|
$path = APP . 'plugins' . DS . 'test_test' . DS . 'tests' . DS . 'cases' . DS . 'helpers' . DS . 'form.test.php';
|
||||||
$this->Task->expectAt(0, 'createFile', array($path, '*'));
|
$this->Task->expects($this->once())->method('createFile')
|
||||||
|
->with($path, new PHPUnit_Framework_Constraint_IsAnything());
|
||||||
|
|
||||||
$this->Task->bake('Helper', 'Form');
|
$this->Task->bake('Helper', 'Form');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -583,9 +582,13 @@ class TestTaskTest extends CakeTestCase {
|
||||||
*/
|
*/
|
||||||
public function testExecuteWithOneArg() {
|
public function testExecuteWithOneArg() {
|
||||||
$this->Task->args[0] = 'Model';
|
$this->Task->args[0] = 'Model';
|
||||||
$this->Task->setReturnValueAt(0, 'in', 'TestTaskTag');
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue('TestTaskTag'));
|
||||||
$this->Task->setReturnValue('isLoadableClass', true);
|
$this->Task->expects($this->once())->method('isLoadableClass')->will($this->returnValue(true));
|
||||||
$this->Task->expectAt(0, 'createFile', array('*', new PatternExpectation('/class TestTaskTagTestCase extends CakeTestCase/')));
|
$this->Task->expects($this->once())->method('createFile')
|
||||||
|
->with(
|
||||||
|
new PHPUnit_Framework_Constraint_IsAnything(),
|
||||||
|
new PHPUnit_Framework_Constraint_PCREMatch('/class TestTaskTagTestCase extends CakeTestCase/')
|
||||||
|
);
|
||||||
$this->Task->execute();
|
$this->Task->execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -596,9 +599,13 @@ class TestTaskTest extends CakeTestCase {
|
||||||
*/
|
*/
|
||||||
public function testExecuteWithTwoArgs() {
|
public function testExecuteWithTwoArgs() {
|
||||||
$this->Task->args = array('Model', 'TestTaskTag');
|
$this->Task->args = array('Model', 'TestTaskTag');
|
||||||
$this->Task->setReturnValueAt(0, 'in', 'TestTaskTag');
|
$this->Task->expects($this->at(0))->method('in')->will($this->returnValue('TestTaskTag'));
|
||||||
$this->Task->setReturnValue('isLoadableClass', true);
|
$this->Task->expects($this->once())->method('createFile')
|
||||||
$this->Task->expectAt(0, 'createFile', array('*', new PatternExpectation('/class TestTaskTagTestCase extends CakeTestCase/')));
|
->with(
|
||||||
|
new PHPUnit_Framework_Constraint_IsAnything(),
|
||||||
|
new PHPUnit_Framework_Constraint_PCREMatch('/class TestTaskTagTestCase extends CakeTestCase/')
|
||||||
|
);
|
||||||
|
$this->Task->expects($this->any())->method('isLoadableClass')->will($this->returnValue(true));
|
||||||
$this->Task->execute();
|
$this->Task->execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,13 +109,13 @@ class SessionComponentTest extends CakeTestCase {
|
||||||
function testSessionAutoStart() {
|
function testSessionAutoStart() {
|
||||||
Configure::write('Session.start', false);
|
Configure::write('Session.start', false);
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
$this->assertFalse($Session->isActive());
|
$this->assertFalse($Session->active());
|
||||||
$this->assertFalse($Session->started());
|
$this->assertFalse($Session->started());
|
||||||
$Session->startup(new SessionTestController());
|
$Session->startup(new SessionTestController());
|
||||||
|
|
||||||
Configure::write('Session.start', true);
|
Configure::write('Session.start', true);
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
$this->assertTrue($Session->isActive());
|
$this->assertTrue($Session->active());
|
||||||
$this->assertFalse($Session->started());
|
$this->assertFalse($Session->started());
|
||||||
$Session->startup(new SessionTestController());
|
$Session->startup(new SessionTestController());
|
||||||
$this->assertTrue(isset($_SESSION));
|
$this->assertTrue(isset($_SESSION));
|
||||||
|
@ -141,15 +141,15 @@ class SessionComponentTest extends CakeTestCase {
|
||||||
function testSessionActivate() {
|
function testSessionActivate() {
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
|
|
||||||
$this->assertTrue($Session->isActive());
|
$this->assertTrue($Session->active());
|
||||||
$this->assertNull($Session->activate());
|
$this->assertNull($Session->activate());
|
||||||
$this->assertTrue($Session->isActive());
|
$this->assertTrue($Session->active());
|
||||||
|
|
||||||
Configure::write('Session.start', false);
|
Configure::write('Session.start', false);
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
$this->assertFalse($Session->isActive());
|
$this->assertFalse($Session->active());
|
||||||
$this->assertNull($Session->activate());
|
$this->assertNull($Session->activate());
|
||||||
$this->assertTrue($Session->isActive());
|
$this->assertTrue($Session->active());
|
||||||
Configure::write('Session.start', true);
|
Configure::write('Session.start', true);
|
||||||
$Session->destroy();
|
$Session->destroy();
|
||||||
}
|
}
|
||||||
|
@ -162,11 +162,15 @@ class SessionComponentTest extends CakeTestCase {
|
||||||
*/
|
*/
|
||||||
function testSessionValid() {
|
function testSessionValid() {
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
|
|
||||||
$this->assertTrue($Session->valid());
|
$this->assertTrue($Session->valid());
|
||||||
|
|
||||||
|
$Session->userAgent('rweerw');
|
||||||
|
$this->assertFalse($Session->valid());
|
||||||
|
|
||||||
Configure::write('Session.start', false);
|
Configure::write('Session.start', false);
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
$this->assertFalse($Session->isActive());
|
$this->assertFalse($Session->active());
|
||||||
$this->assertFalse($Session->valid());
|
$this->assertFalse($Session->valid());
|
||||||
Configure::write('Session.start', true);
|
Configure::write('Session.start', true);
|
||||||
|
|
||||||
|
@ -194,7 +198,7 @@ class SessionComponentTest extends CakeTestCase {
|
||||||
|
|
||||||
Configure::write('Session.start', false);
|
Configure::write('Session.start', false);
|
||||||
$Session = new SessionComponent();
|
$Session = new SessionComponent();
|
||||||
$this->assertFalse($Session->isActive());
|
$this->assertFalse($Session->active());
|
||||||
$this->assertFalse($Session->error());
|
$this->assertFalse($Session->error());
|
||||||
Configure::write('Session.start', true);
|
Configure::write('Session.start', true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -509,4 +509,18 @@ class CakeTestCase extends PHPUnit_Framework_TestCase {
|
||||||
$lower = $value - $margin;
|
$lower = $value - $margin;
|
||||||
$this->assertTrue((($expected <= $upper) && ($expected >= $lower)), $message);
|
$this->assertTrue((($expected <= $upper) && ($expected >= $lower)), $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Compatibility function for skipping.
|
||||||
|
*
|
||||||
|
* @param boolean $condition Condition to trigger skipping
|
||||||
|
* @param string $message Message for skip
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
protected function skipUnless($condition, $message = '') {
|
||||||
|
if (!$condition) {
|
||||||
|
$this->markTestSkipped($message);
|
||||||
|
}
|
||||||
|
return $condition;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -157,7 +157,7 @@ class CakeBaseReporter implements PHPUnit_Framework_TestListener {
|
||||||
* @return mixed
|
* @return mixed
|
||||||
*/
|
*/
|
||||||
public function testCaseList() {
|
public function testCaseList() {
|
||||||
$testList = TestManager::getTestCaseList();
|
$testList = TestManager::getTestCaseList($this->params);
|
||||||
return $testList;
|
return $testList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,7 +168,7 @@ class CakeBaseReporter implements PHPUnit_Framework_TestListener {
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public function groupTestList() {
|
public function groupTestList() {
|
||||||
$testList = TestManager::getGroupTestList();
|
$testList = TestManager::getGroupTestList($this->params);
|
||||||
return $testList;
|
return $testList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ class TestManager {
|
||||||
*
|
*
|
||||||
* @var PHPUnit_Framework_TestSuite
|
* @var PHPUnit_Framework_TestSuite
|
||||||
*/
|
*/
|
||||||
protected $_testSuit = null;
|
protected $_testSuite = null;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Object instance responsible for managing the test fixtures
|
* Object instance responsible for managing the test fixtures
|
||||||
|
@ -137,7 +137,7 @@ class TestManager {
|
||||||
* @return mixed Result of test case being run.
|
* @return mixed Result of test case being run.
|
||||||
*/
|
*/
|
||||||
public function runTestCase($testCaseFile, PHPUnit_Framework_TestListener $reporter, $codeCoverage = false) {
|
public function runTestCase($testCaseFile, PHPUnit_Framework_TestListener $reporter, $codeCoverage = false) {
|
||||||
$testCaseFileWithPath = $this->_getTestsPath() . DS . $testCaseFile;
|
$testCaseFileWithPath = $this->_getTestsPath($reporter->params) . DS . $testCaseFile;
|
||||||
|
|
||||||
if (!file_exists($testCaseFileWithPath) || strpos($testCaseFileWithPath, '..')) {
|
if (!file_exists($testCaseFileWithPath) || strpos($testCaseFileWithPath, '..')) {
|
||||||
throw new InvalidArgumentException(sprintf(__('Unable to load test file %s'), htmlentities($testCaseFile)));
|
throw new InvalidArgumentException(sprintf(__('Unable to load test file %s'), htmlentities($testCaseFile)));
|
||||||
|
@ -157,7 +157,7 @@ class TestManager {
|
||||||
* @return mixed Results of group test being run.
|
* @return mixed Results of group test being run.
|
||||||
*/
|
*/
|
||||||
public function runGroupTest($groupTestName, $reporter, $codeCoverage = false) {
|
public function runGroupTest($groupTestName, $reporter, $codeCoverage = false) {
|
||||||
$filePath = $this->_getTestsPath('groups') . DS . strtolower($groupTestName) . $this->getExtension('group');
|
$filePath = $this->_getTestsPath($reporter->params) . DS . strtolower($groupTestName) . $this->getExtension('group');
|
||||||
|
|
||||||
if (!file_exists($filePath) || strpos($filePath, '..')) {
|
if (!file_exists($filePath) || strpos($filePath, '..')) {
|
||||||
throw new InvalidArgumentException(sprintf(
|
throw new InvalidArgumentException(sprintf(
|
||||||
|
@ -238,19 +238,10 @@ class TestManager {
|
||||||
* @access public
|
* @access public
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
public static function &getTestCaseList() {
|
public static function getTestCaseList($params) {
|
||||||
$return = self::_getTestCaseList(self::_getTestsPath());
|
$directory = self::_getTestsPath($params);
|
||||||
return $return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Builds the list of test cases from a given directory
|
|
||||||
*
|
|
||||||
* @param string $directory Directory to get test case list from.
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
protected static function &_getTestCaseList($directory = '.') {
|
|
||||||
$fileList = self::_getTestFileList($directory);
|
$fileList = self::_getTestFileList($directory);
|
||||||
|
|
||||||
$testCases = array();
|
$testCases = array();
|
||||||
foreach ($fileList as $testCaseFile) {
|
foreach ($fileList as $testCaseFile) {
|
||||||
$testCases[$testCaseFile] = str_replace($directory . DS, '', $testCaseFile);
|
$testCases[$testCaseFile] = str_replace($directory . DS, '', $testCaseFile);
|
||||||
|
@ -275,9 +266,16 @@ class TestManager {
|
||||||
* @access public
|
* @access public
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
public static function &getGroupTestList() {
|
public static function getGroupTestList($params) {
|
||||||
$return = self::_getTestGroupList(self::_getTestsPath('groups'));
|
$directory = self::_getTestsPath($params);
|
||||||
return $return;
|
$fileList = self::_getTestGroupFileList($directory);
|
||||||
|
|
||||||
|
$groupTests = array();
|
||||||
|
foreach ($fileList as $groupTestFile) {
|
||||||
|
$groupTests[$groupTestFile] = str_replace(self::$_groupExtension, '', basename($groupTestFile));
|
||||||
|
}
|
||||||
|
sort($groupTests);
|
||||||
|
return $groupTests;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -291,24 +289,6 @@ class TestManager {
|
||||||
return $return;
|
return $return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Returns a list of group test files from a given directory
|
|
||||||
*
|
|
||||||
* @param string $directory The directory to get group tests from.
|
|
||||||
* @static
|
|
||||||
*/
|
|
||||||
protected static function &_getTestGroupList($directory = '.') {
|
|
||||||
$fileList = self::_getTestGroupFileList($directory);
|
|
||||||
$groupTests = array();
|
|
||||||
|
|
||||||
foreach ($fileList as $groupTestFile) {
|
|
||||||
$groupTests[$groupTestFile] = str_replace(self::$_groupExtension, '', basename($groupTestFile));
|
|
||||||
}
|
|
||||||
sort($groupTests);
|
|
||||||
return $groupTests;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets a recursive list of files from a given directory and matches then against
|
* Gets a recursive list of files from a given directory and matches then against
|
||||||
* a given fileTestFunction, like isTestCaseFile()
|
* a given fileTestFunction, like isTestCaseFile()
|
||||||
|
@ -375,28 +355,29 @@ class TestManager {
|
||||||
/**
|
/**
|
||||||
* Returns the given path to the test files depending on a given type of tests (cases, group, ..)
|
* Returns the given path to the test files depending on a given type of tests (cases, group, ..)
|
||||||
*
|
*
|
||||||
* @param string $type either 'cases' or 'groups'
|
* @param array $params Array of parameters for getting test paths.
|
||||||
|
* Can contain app, type, and plugin params.
|
||||||
* @return string The path tests are located on
|
* @return string The path tests are located on
|
||||||
* @static
|
* @static
|
||||||
*/
|
*/
|
||||||
protected static function _getTestsPath($type = 'cases') {
|
protected static function _getTestsPath($params) {
|
||||||
if (!empty(self::$appTest)) {
|
if (!empty($params['app'])) {
|
||||||
if ($type == 'cases') {
|
if ($params['show'] == 'cases' || !empty($params['case'])) {
|
||||||
$result = APP_TEST_CASES;
|
$result = APP_TEST_CASES;
|
||||||
} else if ($type == 'groups') {
|
} else if ($params['show'] == 'groups') {
|
||||||
$result = APP_TEST_GROUPS;
|
$result = APP_TEST_GROUPS;
|
||||||
}
|
}
|
||||||
} else if (!empty(self::$pluginTest)) {
|
} else if (!empty($params['plugin'])) {
|
||||||
$_pluginBasePath = APP . 'plugins/' . self::$pluginTest . '/tests';
|
$_pluginBasePath = APP . 'plugins/' . $params['plugin'] . '/tests';
|
||||||
$pluginPath = App::pluginPath(self::$pluginTest);
|
$pluginPath = App::pluginPath($params['plugin']);
|
||||||
if (file_exists($pluginPath . DS . 'tests')) {
|
if (file_exists($pluginPath . DS . 'tests')) {
|
||||||
$_pluginBasePath = $pluginPath . DS . 'tests';
|
$_pluginBasePath = $pluginPath . DS . 'tests';
|
||||||
}
|
}
|
||||||
$result = $_pluginBasePath . DS . $type;
|
$result = $_pluginBasePath . DS . $type;
|
||||||
} else {
|
} else {
|
||||||
if ($type == 'cases') {
|
if ($params['show'] == 'cases' || !empty($params['case'])) {
|
||||||
$result = CORE_TEST_CASES;
|
$result = CORE_TEST_CASES;
|
||||||
} else if ($type == 'groups') {
|
} else if ($params['show'] == 'groups') {
|
||||||
$result = CORE_TEST_GROUPS;
|
$result = CORE_TEST_GROUPS;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue