diff --git a/cake/libs/session.php b/cake/libs/session.php index d52787210..7a4df68b3 100644 --- a/cake/libs/session.php +++ b/cake/libs/session.php @@ -170,7 +170,7 @@ class CakeSession extends Object { return false; } $result = Set::extract($_SESSION, $var); - return (!empty($result)); + return isset($result); } /** diff --git a/cake/tests/cases/libs/session.test.php b/cake/tests/cases/libs/session.test.php new file mode 100644 index 000000000..d81bc6ccf --- /dev/null +++ b/cake/tests/cases/libs/session.test.php @@ -0,0 +1,94 @@ + + * Copyright (c) 2006, Larry E. Masters Shorewood, IL. 60431 + * Author(s): Larry E. Masters aka PhpNut + * + * Licensed under The Open Group Test Suite License + * Redistributions of files must retain the above copyright notice. + * + * @filesource + * @author Larry E. Masters aka PhpNut + * @copyright Copyright (c) 2006, Larry E. Masters Shorewood, IL. 60431 + * @link http://www.phpnut.com/projects/ + * @package test_suite + * @subpackage test_suite.cases.app + * @since CakePHP Test Suite v 1.0.0.0 + * @version $Revision: $ + * @modifiedby $LastChangedBy: $ + * @lastmodified $Date: $ + * @license http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License + */ + require_once LIBS.'session.php'; +/** + * Short description for class. + * + * @package test_suite + * @subpackage test_suite.cases.libs + * @since CakePHP Test Suite v 1.0.0.0 + */ +class SessionTest extends UnitTestCase { + + function setUp() { + $this->Session = new CakeSession(); + } + + function testCheck() { + $this->Session->write('SessionTestCase', 'value'); + $result = $this->Session->check('SessionTestCase'); + $this->assertEqual($result, true); + + $result = $this->Session->check('NotExistingSessionTestCase'); + $this->assertEqual($result, false); + } + + function testCheckingSavedEmpty() { + $this->Session->write('SessionTestCase', 0); + $result = $this->Session->check('SessionTestCase'); + $this->assertEqual($result, true); + + $this->Session->write('SessionTestCase', '0'); + $result = $this->Session->check('SessionTestCase'); + $this->assertEqual($result, true); + + $this->Session->write('SessionTestCase', false); + $result = $this->Session->check('SessionTestCase'); + $this->assertEqual($result, true); + + $this->Session->write('SessionTestCase', null); + $result = $this->Session->check('SessionTestCase'); + $this->assertEqual($result, null); + } + + function testReadingSavedEmpty() { + $this->Session->write('SessionTestCase', 0); + $result = $this->Session->read('SessionTestCase'); + $this->assertEqual($result, 0); + + $this->Session->write('SessionTestCase', '0'); + $result = $this->Session->read('SessionTestCase'); + $this->assertEqual($result, '0'); + + $this->Session->write('SessionTestCase', false); + $result = $this->Session->read('SessionTestCase'); + $this->assertEqual($result, false); + + $this->Session->write('SessionTestCase', null); + $result = $this->Session->read('SessionTestCase'); + $this->assertEqual($result, null); + } + + function tearDown() { + $this->Session->del('SessionTestCase'); + unset($this->Session); + } +} + +?> \ No newline at end of file diff --git a/cake/tests/groups/no_database.group.php b/cake/tests/groups/no_database.group.php index e05b8a4ad..35dd0aed1 100644 --- a/cake/tests/groups/no_database.group.php +++ b/cake/tests/groups/no_database.group.php @@ -40,10 +40,12 @@ class AllCoreWithOutDatabaseGroupTest extends GroupTest { TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'router'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'dispatcher'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'validation'); + TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'session'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers' . DS . 'paginator'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'socket'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers' . DS . 'ajax'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers' . DS . 'html'); + TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'view' . DS . 'helpers' . DS . 'javascript'); TestManager::addTestFile($this, CORE_TEST_CASES . DS . 'libs' . DS . 'model' . DS . 'model'); } }