mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-18 04:48:25 +00:00
241 lines
4.6 KiB
PHP
241 lines
4.6 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* CakePHP : Rapid Development Framework (http://cakephp.org)
|
||
|
* 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 (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||
|
* @link http://cakephp.org CakePHP Project
|
||
|
* @package Cake.Test.Case.Console.Command
|
||
|
* @since CakePHP v 2.5
|
||
|
* @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||
|
*/
|
||
|
|
||
|
App::uses('CommandTask', 'Console/Command/Task');
|
||
|
|
||
|
/**
|
||
|
* CommandTaskTest class
|
||
|
*
|
||
|
* @package Cake.Test.Case.Console.Command.Task
|
||
|
*/
|
||
|
class CommandTaskTest extends CakeTestCase {
|
||
|
|
||
|
/**
|
||
|
* setUp method
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function setUp() {
|
||
|
parent::setUp();
|
||
|
App::build(array(
|
||
|
'Plugin' => array(
|
||
|
CAKE . 'Test' . DS . 'test_app' . DS . 'Plugin' . DS
|
||
|
),
|
||
|
'Console/Command' => array(
|
||
|
CAKE . 'Test' . DS . 'test_app' . DS . 'Console' . DS . 'Command' . DS
|
||
|
)
|
||
|
), App::RESET);
|
||
|
CakePlugin::load(array('TestPlugin', 'TestPluginTwo'));
|
||
|
|
||
|
$out = $this->getMock('ConsoleOutput', array(), array(), '', false);
|
||
|
$in = $this->getMock('ConsoleInput', array(), array(), '', false);
|
||
|
|
||
|
$this->CommandTask = $this->getMock(
|
||
|
'CommandTask',
|
||
|
array('in', '_stop', 'clear'),
|
||
|
array($out, $out, $in)
|
||
|
);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* tearDown
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function tearDown() {
|
||
|
parent::tearDown();
|
||
|
unset($this->CommandTask);
|
||
|
CakePlugin::unload();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test the resulting list of shells
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testGetShellList() {
|
||
|
$result = $this->CommandTask->getShellList();
|
||
|
|
||
|
$expected = array(
|
||
|
'CORE' => array(
|
||
|
'acl',
|
||
|
'api',
|
||
|
'bake',
|
||
|
'command_list',
|
||
|
'completion',
|
||
|
'console',
|
||
|
'i18n',
|
||
|
'schema',
|
||
|
'server',
|
||
|
'test',
|
||
|
'testsuite',
|
||
|
'upgrade'
|
||
|
),
|
||
|
'TestPlugin' => array(
|
||
|
'example'
|
||
|
),
|
||
|
'TestPluginTwo' => array(
|
||
|
'example',
|
||
|
'welcome'
|
||
|
),
|
||
|
'app' => array(
|
||
|
'sample'
|
||
|
),
|
||
|
);
|
||
|
$this->assertEquals($expected, $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test the resulting list of commands
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testCommands() {
|
||
|
$result = $this->CommandTask->commands();
|
||
|
|
||
|
$expected = array(
|
||
|
'TestPlugin.example',
|
||
|
'TestPluginTwo.example',
|
||
|
'TestPluginTwo.welcome',
|
||
|
'acl',
|
||
|
'api',
|
||
|
'bake',
|
||
|
'command_list',
|
||
|
'completion',
|
||
|
'console',
|
||
|
'i18n',
|
||
|
'schema',
|
||
|
'server',
|
||
|
'test',
|
||
|
'testsuite',
|
||
|
'upgrade',
|
||
|
'sample'
|
||
|
);
|
||
|
$this->assertEquals($expected, $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test the resulting list of subcommands for the given command
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testSubCommands() {
|
||
|
$result = $this->CommandTask->subCommands('acl');
|
||
|
|
||
|
$expected = array(
|
||
|
'check',
|
||
|
'create',
|
||
|
'db_config',
|
||
|
'delete',
|
||
|
'deny',
|
||
|
'getPath',
|
||
|
'grant',
|
||
|
'inherit',
|
||
|
'initdb',
|
||
|
'nodeExists',
|
||
|
'parseIdentifier',
|
||
|
'setParent',
|
||
|
'view'
|
||
|
);
|
||
|
$this->assertEquals($expected, $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test that unknown commands return an empty array
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testSubCommandsUnknownCommand() {
|
||
|
$result = $this->CommandTask->subCommands('yoghurt');
|
||
|
|
||
|
$expected = array();
|
||
|
$this->assertEquals($expected, $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test that getting a existing shell returns the shell instance
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testGetShell() {
|
||
|
$result = $this->CommandTask->getShell('acl');
|
||
|
$this->assertInstanceOf('AclShell', $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test that getting a non-existing shell returns false
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testGetShellNonExisting() {
|
||
|
$result = $this->CommandTask->getShell('strawberry');
|
||
|
$this->assertFalse($result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test that getting a existing core shell with 'core.' prefix returns the correct shell instance
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testGetShellCore() {
|
||
|
$result = $this->CommandTask->getShell('core.bake');
|
||
|
$this->assertInstanceOf('BakeShell', $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test the options array for a known command
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testOptions() {
|
||
|
$result = $this->CommandTask->options('bake');
|
||
|
|
||
|
$expected = array(
|
||
|
'--help',
|
||
|
'-h',
|
||
|
'--verbose',
|
||
|
'-v',
|
||
|
'--quiet',
|
||
|
'-q',
|
||
|
'--connection',
|
||
|
'-c',
|
||
|
'--theme',
|
||
|
'-t'
|
||
|
);
|
||
|
$this->assertEquals($expected, $result);
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Test the options array for an unknown command
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function testOptionsUnknownCommand() {
|
||
|
$result = $this->CommandTask->options('pie');
|
||
|
|
||
|
$expected = array(
|
||
|
'--help',
|
||
|
'-h',
|
||
|
'--verbose',
|
||
|
'-v',
|
||
|
'--quiet',
|
||
|
'-q'
|
||
|
);
|
||
|
$this->assertEquals($expected, $result);
|
||
|
}
|
||
|
|
||
|
}
|