From de3014b83e2e530169ac8d2d1687b50b2fae14d1 Mon Sep 17 00:00:00 2001 From: joelmoss Date: Sun, 11 May 2008 22:51:37 +0000 Subject: [PATCH] Adding more tests for Session component, taking code coverage to over 95% git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@6811 3807eeeb-6ff5-0310-8944-8be069107fe0 --- .../controller/components/session.test.php | 210 ++++++++++++++++-- 1 file changed, 197 insertions(+), 13 deletions(-) diff --git a/cake/tests/cases/libs/controller/components/session.test.php b/cake/tests/cases/libs/controller/components/session.test.php index 962279671..c559653b6 100644 --- a/cake/tests/cases/libs/controller/components/session.test.php +++ b/cake/tests/cases/libs/controller/components/session.test.php @@ -37,23 +37,207 @@ class SessionTestController extends Controller {} */ class SessionComponentTest extends CakeTestCase { - function setUp() { - $this->Session = new SessionComponent(); - } - function testSessionAutoStart() { - $this->Session->startup(new SessionTestController()); + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $this->assertFalse($Session->__active); + $this->assertFalse($Session->__started); + $Session->startup(new SessionTestController()); + $this->assertFalse(isset($_SESSION)); + unset($_SESSION); + + Configure::write('Session.start', true); + $Session = new SessionComponent(); + $this->assertTrue($Session->__active); + $this->assertFalse($Session->__started); + $Session->startup(new SessionTestController()); $this->assertTrue(isset($_SESSION)); + unset($_SESSION); + } + + function testSessionInitialize() { + $Session = new SessionComponent(); + + $this->assertEqual($Session->__bare, 0); + + $Session->initialize(new SessionTestController()); + $this->assertEqual($Session->__bare, 0); + + $sessionController = new SessionTestController(); + $sessionController->params['bare'] = 1; + $Session->initialize($sessionController); + $this->assertEqual($Session->__bare, 1); + + unset($_SESSION); + } + + function testSessionActivate() { + $Session = new SessionComponent(); + + $this->assertTrue($Session->__active); + $this->assertNull($Session->activate()); + $this->assertTrue($Session->__active); + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $this->assertFalse($Session->__active); + $this->assertNull($Session->activate()); + $this->assertTrue($Session->__active); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionValid() { + $Session = new SessionComponent(); + + $this->assertFalse($Session->valid()); + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $this->assertFalse($Session->__active); + $this->assertFalse($Session->valid()); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionError() { + $Session = new SessionComponent(); + + $this->assertFalse($Session->error()); + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $this->assertFalse($Session->__active); + $this->assertFalse($Session->error()); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionReadWrite() { + $Session = new SessionComponent(); + + $this->assertFalse($Session->read()); + $this->assertFalse($Session->read('Test')); + + $this->assertTrue($Session->write('Test', 'some value')); + $this->assertEqual($Session->read('Test'), 'some value'); + $this->assertFalse($Session->write('Test.key', 'some value')); + $Session->del('Test'); + + $this->assertTrue($Session->write('Test.key.path', 'some value')); + $this->assertEqual($Session->read('Test.key.path'), 'some value'); + $this->assertEqual($Session->read('Test.key'), array('path' => 'some value')); + $this->assertTrue($Session->write('Test.key.path2', 'another value')); + $this->assertEqual($Session->read('Test.key'), array('path' => 'some value', 'path2' => 'another value')); + $Session->del('Test'); + + $array = array('key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'); + $this->assertTrue($Session->write('Test', $array)); + $this->assertEqual($Session->read('Test'), $array); + $Session->del('Test'); + + $this->assertFalse($Session->write(array('Test'), 'some value')); + $this->assertTrue($Session->write(array('Test' => 'some value'))); + $this->assertEqual($Session->read('Test'), 'some value'); + $Session->del('Test'); + + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $this->assertFalse($Session->write('Test', 'some value')); + $Session->write('Test', 'some value'); + $this->assertFalse($Session->read('Test')); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionDel() { + $Session = new SessionComponent(); + + $this->assertFalse($Session->del('Test')); + + $Session->write('Test', 'some value'); + $this->assertTrue($Session->del('Test')); + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $Session->write('Test', 'some value'); + $this->assertFalse($Session->del('Test')); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionDelete() { + $Session = new SessionComponent(); + + $this->assertFalse($Session->delete('Test')); + + $Session->write('Test', 'some value'); + $this->assertTrue($Session->delete('Test')); + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $Session->write('Test', 'some value'); + $this->assertFalse($Session->delete('Test')); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionId() { + $Session = new SessionComponent(); + + $this->assertNull($Session->id()); + unset($_SESSION); + } + + function testSessionCheck() { + $Session = new SessionComponent(); + + $this->assertFalse($Session->check('Test')); + + $Session->write('Test', 'some value'); + $this->assertTrue($Session->check('Test')); + $Session->delete('Test'); + unset($_SESSION); + + Configure::write('Session.start', false); + $Session = new SessionComponent(); + $Session->write('Test', 'some value'); + $this->assertFalse($Session->check('Test')); + Configure::write('Session.start', true); + unset($_SESSION); + } + + function testSessionFlash() { + $Session = new SessionComponent(); + + $this->assertNull($Session->read('Message.flash')); + + $Session->setFlash('This is a test message'); + $this->assertEqual($Session->read('Message.flash'), array('message' => 'This is a test message', 'layout' => 'default', 'params' => array())); + + $Session->setFlash('This is a test message', 'test', array('name' => 'Joel Moss')); + $this->assertEqual($Session->read('Message.flash'), array('message' => 'This is a test message', 'layout' => 'test', 'params' => array('name' => 'Joel Moss'))); + + $Session->setFlash('This is a test message', 'default', array(), 'myFlash'); + $this->assertEqual($Session->read('Message.myFlash'), array('message' => 'This is a test message', 'layout' => 'default', 'params' => array())); + } + + function testSessionDestroy() { + $Session = new SessionComponent(); + + $Session->write('Test', 'some value'); + $this->assertEqual($Session->read('Test'), 'some value'); + $Session->destroy('Test'); + $this->assertNull($Session->read('Test')); } - function testSessionWriting() { - $this->assertTrue($this->Session->write('Test.key.path', 'some value')); - $this->assertEqual($this->Session->read('Test.key.path'), 'some value'); - } - - function tearDown() { - unset($this->Session); - } } ?>