Fixing small bug in Session::check() (ticket #2257)

git-svn-id: https://svn.cakephp.org/repo/branches/1.2.x.x@4618 3807eeeb-6ff5-0310-8944-8be069107fe0
This commit is contained in:
dho 2007-03-16 12:47:49 +00:00
parent 3dae247bab
commit a0897be3fb
3 changed files with 97 additions and 1 deletions

View file

@ -170,7 +170,7 @@ class CakeSession extends Object {
return false;
}
$result = Set::extract($_SESSION, $var);
return (!empty($result));
return isset($result);
}
/**

View file

@ -0,0 +1,94 @@
<?php
/* SVN FILE: $Id: $ */
/**
* Short description for file.
*
* Long description for file
*
* PHP versions 4 and 5
*
* CakePHP Test Suite <https://trac.cakephp.org/wiki/Developement/TestSuite>
* Copyright (c) 2006, Larry E. Masters Shorewood, IL. 60431
* Author(s): Larry E. Masters aka PhpNut <phpnut@gmail.com>
*
* Licensed under The Open Group Test Suite License
* Redistributions of files must retain the above copyright notice.
*
* @filesource
* @author Larry E. Masters aka PhpNut <phpnut@gmail.com>
* @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);
}
}
?>

View file

@ -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');
}
}