diff options
Diffstat (limited to 'poc/poc02-compiling-cake/src/vendor/cakephp-2.2.1-0-gcc44130/lib/Cake/Test/Case/Controller/Component/SessionComponentTest.php')
-rw-r--r-- | poc/poc02-compiling-cake/src/vendor/cakephp-2.2.1-0-gcc44130/lib/Cake/Test/Case/Controller/Component/SessionComponentTest.php | 294 |
1 files changed, 294 insertions, 0 deletions
diff --git a/poc/poc02-compiling-cake/src/vendor/cakephp-2.2.1-0-gcc44130/lib/Cake/Test/Case/Controller/Component/SessionComponentTest.php b/poc/poc02-compiling-cake/src/vendor/cakephp-2.2.1-0-gcc44130/lib/Cake/Test/Case/Controller/Component/SessionComponentTest.php new file mode 100644 index 0000000..0920186 --- /dev/null +++ b/poc/poc02-compiling-cake/src/vendor/cakephp-2.2.1-0-gcc44130/lib/Cake/Test/Case/Controller/Component/SessionComponentTest.php @@ -0,0 +1,294 @@ +<?php +/** + * SessionComponentTest file + * + * PHP 5 + * + * CakePHP(tm) Tests <http://book.cakephp.org/2.0/en/development/testing.html> + * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * + * Licensed under The MIT License + * Redistributions of files must retain the above copyright notice + * + * @copyright Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org) + * @link http://book.cakephp.org/2.0/en/development/testing.html CakePHP(tm) Tests + * @package Cake.Test.Case.Controller.Component + * @since CakePHP(tm) v 1.2.0.5436 + * @license MIT License (http://www.opensource.org/licenses/mit-license.php) + */ +App::uses('Controller', 'Controller'); +App::uses('SessionComponent', 'Controller/Component'); + +/** + * SessionTestController class + * + * @package Cake.Test.Case.Controller.Component + */ +class SessionTestController extends Controller { + +/** + * uses property + * + * @var array + */ + public $uses = array(); + +/** + * sessionId method + * + * @return string + */ + public function sessionId() { + return $this->Session->id(); + } + +} + +/** + * OrangeSessionTestController class + * + * @package Cake.Test.Case.Controller.Component + */ +class OrangeSessionTestController extends Controller { + +/** + * uses property + * + * @var array + */ + public $uses = array(); + +/** + * sessionId method + * + * @return string + */ + public function sessionId() { + return $this->Session->id(); + } + +} + +/** + * SessionComponentTest class + * + * @package Cake.Test.Case.Controller.Component + */ +class SessionComponentTest extends CakeTestCase { + + protected static $_sessionBackup; + +/** + * fixtures + * + * @var string + */ + public $fixtures = array('core.session'); + +/** + * test case startup + * + * @return void + */ + public static function setupBeforeClass() { + self::$_sessionBackup = Configure::read('Session'); + Configure::write('Session', array( + 'defaults' => 'php', + 'timeout' => 100, + 'cookie' => 'test' + )); + } + +/** + * cleanup after test case. + * + * @return void + */ + public static function teardownAfterClass() { + Configure::write('Session', self::$_sessionBackup); + } + +/** + * setUp method + * + * @return void + */ + public function setUp() { + parent::setUp(); + $_SESSION = null; + $this->ComponentCollection = new ComponentCollection(); + } + +/** + * tearDown method + * + * @return void + */ + public function tearDown() { + parent::tearDown(); + CakeSession::destroy(); + } + +/** + * ensure that session ids don't change when request action is called. + * + * @return void + */ + public function testSessionIdConsistentAcrossRequestAction() { + $Session = new SessionComponent($this->ComponentCollection); + $Session->check('Test'); + $this->assertTrue(isset($_SESSION)); + + $Object = new Object(); + $Session = new SessionComponent($this->ComponentCollection); + $expected = $Session->id(); + + $result = $Object->requestAction('/session_test/sessionId'); + $this->assertEquals($expected, $result); + + $result = $Object->requestAction('/orange_session_test/sessionId'); + $this->assertEquals($expected, $result); + } + +/** + * testSessionValid method + * + * @return void + */ + public function testSessionValid() { + $Session = new SessionComponent($this->ComponentCollection); + + $this->assertTrue($Session->valid()); + + Configure::write('Session.checkAgent', true); + $Session->userAgent('rweerw'); + $this->assertFalse($Session->valid()); + + $Session = new SessionComponent($this->ComponentCollection); + $Session->time = $Session->read('Config.time') + 1; + $this->assertFalse($Session->valid()); + } + +/** + * testSessionError method + * + * @return void + */ + public function testSessionError() { + $Session = new SessionComponent($this->ComponentCollection); + $this->assertFalse($Session->error()); + } + +/** + * testSessionReadWrite method + * + * @return void + */ + public function testSessionReadWrite() { + $Session = new SessionComponent($this->ComponentCollection); + + $this->assertNull($Session->read('Test')); + + $this->assertTrue($Session->write('Test', 'some value')); + $this->assertEquals('some value', $Session->read('Test')); + $Session->delete('Test'); + + $this->assertTrue($Session->write('Test.key.path', 'some value')); + $this->assertEquals('some value', $Session->read('Test.key.path')); + $this->assertEquals(array('path' => 'some value'), $Session->read('Test.key')); + $this->assertTrue($Session->write('Test.key.path2', 'another value')); + $this->assertEquals(array('path' => 'some value', 'path2' => 'another value'), $Session->read('Test.key')); + $Session->delete('Test'); + + $array = array('key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'); + $this->assertTrue($Session->write('Test', $array)); + $this->assertEquals($Session->read('Test'), $array); + $Session->delete('Test'); + + $this->assertFalse($Session->write(array('Test'), 'some value')); + $this->assertTrue($Session->write(array('Test' => 'some value'))); + $this->assertEquals('some value', $Session->read('Test')); + $Session->delete('Test'); + } + +/** + * testSessionDelete method + * + * @return void + */ + public function testSessionDelete() { + $Session = new SessionComponent($this->ComponentCollection); + + $this->assertFalse($Session->delete('Test')); + + $Session->write('Test', 'some value'); + $this->assertTrue($Session->delete('Test')); + } + +/** + * testSessionCheck method + * + * @return void + */ + public function testSessionCheck() { + $Session = new SessionComponent($this->ComponentCollection); + + $this->assertFalse($Session->check('Test')); + + $Session->write('Test', 'some value'); + $this->assertTrue($Session->check('Test')); + $Session->delete('Test'); + } + +/** + * testSessionFlash method + * + * @return void + */ + public function testSessionFlash() { + $Session = new SessionComponent($this->ComponentCollection); + + $this->assertNull($Session->read('Message.flash')); + + $Session->setFlash('This is a test message'); + $this->assertEquals(array('message' => 'This is a test message', 'element' => 'default', 'params' => array()), $Session->read('Message.flash')); + + $Session->setFlash('This is a test message', 'test', array('name' => 'Joel Moss')); + $this->assertEquals(array('message' => 'This is a test message', 'element' => 'test', 'params' => array('name' => 'Joel Moss')), $Session->read('Message.flash')); + + $Session->setFlash('This is a test message', 'default', array(), 'myFlash'); + $this->assertEquals(array('message' => 'This is a test message', 'element' => 'default', 'params' => array()), $Session->read('Message.myFlash')); + + $Session->setFlash('This is a test message', 'non_existing_layout'); + $this->assertEquals(array('message' => 'This is a test message', 'element' => 'default', 'params' => array()), $Session->read('Message.myFlash')); + + $Session->delete('Message'); + } + +/** + * testSessionId method + * + * @return void + */ + public function testSessionId() { + unset($_SESSION); + $Session = new SessionComponent($this->ComponentCollection); + $Session->check('test'); + $this->assertEquals(session_id(), $Session->id()); + } + +/** + * testSessionDestroy method + * + * @return void + */ + public function testSessionDestroy() { + $Session = new SessionComponent($this->ComponentCollection); + + $Session->write('Test', 'some value'); + $this->assertEquals('some value', $Session->read('Test')); + $Session->destroy('Test'); + $this->assertNull($Session->read('Test')); + } + +} |