|
|
<?php
/* * @copyright NetMonsters <team@netmonsters.ru> * @link http://netmonsters.ru * @package Majestic * @subpackage UnitTests * @since 2011-10-25 * * Unit tests for Session class * @TODO: Session::destroy() - uncheck started flag after destroy */
require_once dirname(__FILE__) . '/../../session/Session.php';
class SessionTest extends PHPUnit_Framework_TestCase {
private $started = null;
protected function setUp() { $class = new ReflectionClass('Session'); $this->started = $class->getProperty('started'); $this->started->setAccessible(true); Session::start(); Session::destroy(); $this->started->setValue(null, false); }
public function testStart() { Session::start(); $this->assertAttributeEquals(true, 'started', 'Session'); }
public function testSetGet() { Session::set('one', 1); Session::set('two', 'three'); Session::set(array('first' => '1st', 'second' => '2nd')); $this->assertEquals('1st', Session::get('first')); $this->assertEquals('three', Session::get('two')); $this->assertNotEquals('three', Session::get('thr')); }
public function testNullKey() { $this->assertNull(Session::get()); Session::start(); $this->assertEmpty(Session::get()); }
public function testReturnDefaultValue() { Session::start(); $this->assertEquals(1, Session::get('key', 1)); }
public function testDestroyedGet() { $this->assertFalse($this->started->getValue()); $_COOKIE[session_name()] = session_name(); $this->assertEquals(1, Session::get('key', 1)); }
public function testDel() { Session::set('one', 1); Session::set('two', 'three'); $this->assertEquals('three', Session::get('two')); Session::del('two'); $this->assertNull(Session::get('two')); }
public function testDestroyedDel() { Session::del('two'); $this->assertNull(Session::get('two')); $this->assertFalse($this->started->getValue()); $_COOKIE[session_name()] = session_name(); Session::del('two'); $this->assertNull(Session::get('two')); }
public function testRegenerateId() { $this->assertEmpty(session_id()); Session::start(); $ssid = Session::getId(); $this->assertNotEmpty($ssid); Session::regenerateId(); $new_ssid = Session::getId(); $this->assertNotEmpty($new_ssid); $this->assertNotEquals($new_ssid, $ssid); }
public function testRememberUntil() { Session::start(); $ssid = Session::getId(); $params = session_get_cookie_params(); Session::rememberUntil(400); $new_ssid = Session::getId(); $new_params = session_get_cookie_params(); $this->assertNotEquals($ssid, $new_ssid); $this->assertNotEquals($params, $new_params); $this->assertEquals(400, $new_params['lifetime']); Session::rememberUntil(); $new_params = session_get_cookie_params(); $this->assertEquals(0, $new_params['lifetime']); }
public function testForget() { Session::start(); $ssid = Session::getId(); Session::forget(); $new_ssid = Session::getId(); $new_params = session_get_cookie_params(); $this->assertNotEquals($ssid, $new_ssid); $this->assertEquals(0, $new_params['lifetime']); }
public function testRemember() { Session::start(); $ssid = Session::getId(); Session::remember(); $new_params = session_get_cookie_params(); $this->assertEquals(1209600, $new_params['lifetime']);
Session::remember(-30); $new_params = session_get_cookie_params(); $this->assertEquals(1209600, $new_params['lifetime']);
Session::remember(530); $new_params = session_get_cookie_params(); $this->assertEquals(530, $new_params['lifetime']); }
public function testExpireSessionCookie() { Session::start(); $params = session_get_cookie_params(); $_COOKIE[session_name()] = true; Session::expireSessionCookie(); $this->assertNotNull($_COOKIE); }
public function testSetSessionHandler() { Session::setSessionHandler('Handler'); $this->assertTrue(TRUE); } }
class Handler { public static function open(){} public static function close(){} public static function read(){} public static function write(){} public static function destroy(){} public static function gc(){} }
|