diff --git a/.travis.yml b/.travis.yml index 0b7934400..87158546c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -158,7 +158,7 @@ before_script: }" > app/Config/database.php script: - - sh -c "if [ '$PHPCS' != '1' ]; then ./lib/Cake/Console/cake test core AllTests --stderr; fi" + - sh -c "if [ '$PHPCS' != '1' ]; then ./lib/Cake/Console/cake test core AllTests --stderr --verbose; fi" - sh -c "if [ '$PHPCS' = '1' ]; then vendors/bin/phpcs -p --extensions=php --standard=CakePHP ./lib/Cake; fi;" notifications: diff --git a/composer.json b/composer.json index 51342b2bc..5680314f4 100644 --- a/composer.json +++ b/composer.json @@ -41,6 +41,6 @@ "@test" ], "cs-check": "./vendors/bin/phpcs -p --extensions=php --standard=CakePHP ./lib/Cake", - "test": "./lib/Cake/Console/cake test core AllTests --stderr" + "test": "./lib/Cake/Console/cake test core AllTests --stderr --verbose" } } diff --git a/lib/Cake/Test/Case/AllControllerTest.php b/lib/Cake/Test/Case/AllControllerTest.php index 8af92e8a5..e6f5644d7 100644 --- a/lib/Cake/Test/Case/AllControllerTest.php +++ b/lib/Cake/Test/Case/AllControllerTest.php @@ -38,6 +38,7 @@ class AllControllersTest extends PHPUnit_Framework_TestSuite { $suite->addTestFile(CORE_TEST_CASES . DS . 'Controller' . DS . 'PagesControllerTest.php'); $suite->addTestFile(CORE_TEST_CASES . DS . 'Controller' . DS . 'ComponentTest.php'); $suite->addTestFile(CORE_TEST_CASES . DS . 'Controller' . DS . 'ControllerMergeVarsTest.php'); + $suite->addTestFile(CORE_TEST_CASES . DS . 'Controller' . DS . 'ApplicationControllerTest.php'); return $suite; } } diff --git a/lib/Cake/Test/Case/Controller/ApplicationControllerTest.php b/lib/Cake/Test/Case/Controller/ApplicationControllerTest.php new file mode 100644 index 000000000..2487aa4db --- /dev/null +++ b/lib/Cake/Test/Case/Controller/ApplicationControllerTest.php @@ -0,0 +1,104 @@ +Session->id(); + return $this->redirect(array( + 'controller' => 'trans_session_id', + 'action' => 'next_step', + '?' => array( + $sessionName => $sessionId, + ), + )); + } + +} + +/** + * ApplicationControllerTest class for testing controllers by using ControllerTestCase. + * + * ApplicationControllerTest extends ControllerTestCase in contrast + * with ControllerTest that extends CakeTestCase. + * + * @package Cake.Test.Case.Controller + */ +class ApplicationControllerTest extends ControllerTestCase { + +/** + * setupDown method + * + * @return void + */ + public function setUp() { + CakeSession::destroy(); + parent::setUp(); + } + +/** + * tearDown method + * + * @return void + */ + public function tearDown() { + CakeSession::destroy(); + parent::tearDown(); + } + +/** + * Tests the redirect and session config with use_trans_sid=1. + * + * @return void + */ + public function testRedirect() { + $sessionId = 'o7k64tlhil9pakp89j6d8ovlqk'; + $this->testAction('/trans_session_id/next?CAKEPHP=' . $sessionId); + $this->assertContains('/trans_session_id/next_step?CAKEPHP=' . $sessionId, $this->headers['Location']); + $expectedConfig = array( + 'cookie' => 'CAKEPHP', + 'timeout' => 240, + 'ini' => array( + 'session.use_trans_sid' => 1, + 'session.cookie_path' => '/', + 'session.cookie_lifetime' => 14400, + 'session.name' => 'CAKEPHP', + 'session.gc_maxlifetime' => 14400, + 'session.cookie_httponly' => 1, + 'session.use_cookies' => 0, + 'session.use_only_cookies' => 0, + ), + 'defaults' => 'php', + 'cookieTimeout' => 240, + 'cacheLimiter' => 'must-revalidate', + ); + $actualConfig = Configure::read('Session'); + $this->assertEquals($expectedConfig, $actualConfig); + } + +}