| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- require_once 'SingletonTestCase.php';
- require_once 'session.php';
- use webbasics\Session;
- // Turn on outbut buffering to circumvent "headers already sent" error
- ob_start();
- class SessionTest extends SingletonTestCase {
- private $session;
-
- function getClassName() {
- return 'webbasics\Session';
- }
-
- function setUp() {
- parent::setUp();
- $this->session = @Session::getInstance();
- }
-
- function tearDown() {
- $_SESSION = array();
- }
-
- function testSessionStarted() {
- $this->assertNotEquals('', session_id());
- }
-
- function testSetSingle() {
- $this->session->set('foo', 'bar');
- $this->assertArrayHasKey('foo', $_SESSION);
- $this->assertEquals('bar', $_SESSION['foo']);
- }
-
- function testSetMultiple() {
- $this->session->set(array('foo' => 'bar', 'bar' => 'baz'));
- $this->assertArrayHasKey('foo', $_SESSION);
- $this->assertEquals('bar', $_SESSION['foo']);
- $this->assertArrayHasKey('bar', $_SESSION);
- $this->assertEquals('baz', $_SESSION['bar']);
- }
-
- function testGetSingle() {
- $_SESSION['foo'] = 'bar';
- $this->assertEquals('bar', $this->session->get('foo'));
- }
-
- function testGetMultiple() {
- $_SESSION['foo'] = 'bar';
- $_SESSION['bar'] = 'baz';
- $this->assertEquals(array('bar', 'baz'), $this->session->get(array('foo', 'bar')));
- }
-
- function testIsRegistered() {
- $_SESSION['foo'] = 'bar';
- $this->assertTrue($this->session->isRegistered('foo'));
- $this->assertFalse($this->session->isRegistered('bar'));
- }
-
- /**
- * @depends testIsRegistered
- */
- function testAreRegistered() {
- $_SESSION['foo'] = 'bar';
- $_SESSION['bar'] = 'baz';
- $this->assertTrue($this->session->areRegistered(array('foo', 'bar')));
- $this->assertFalse($this->session->areRegistered(array('foo', 'baz')));
- }
-
- function testRegenerateId() {
- $old_id = session_id();
- $this->session->regenerateId();
- $this->assertNotEquals($old_id, session_id());
-
- // Disable output buffering to show progress on other tests
- @ob_end_flush();
- }
-
- function testClear() {
- $_SESSION['foo'] = 'bar';
- $this->session->clear();
- $this->assertEmpty($_SESSION);
- }
-
- function testDestroySimple() {
- $this->session->destroy();
- $this->assertEquals('', session_id());
- }
-
- /**
- * @depends testClear
- */
- function testDestroyClear() {
- $_SESSION['foo'] = 'bar';
- $this->session->destroy(true);
- $this->assertEmpty($_SESSION);
- $this->assertEquals('', session_id());
- }
- }
- ?>
|