summaryrefslogtreecommitdiffstats
path: root/tests/codeigniter/libraries/Session_test.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/codeigniter/libraries/Session_test.php')
-rw-r--r--tests/codeigniter/libraries/Session_test.php441
1 files changed, 0 insertions, 441 deletions
diff --git a/tests/codeigniter/libraries/Session_test.php b/tests/codeigniter/libraries/Session_test.php
deleted file mode 100644
index 840df076a..000000000
--- a/tests/codeigniter/libraries/Session_test.php
+++ /dev/null
@@ -1,441 +0,0 @@
-<?php
-
-/**
- * Session driver library unit test
- */
-class Session_test extends CI_TestCase {
-
- protected $settings = array(
- 'use_cookies' => 0,
- 'use_only_cookies' => 0,
- 'cache_limiter' => FALSE
- );
- protected $setting_vals = array();
- protected $cookie_vals;
- protected $session;
-
- /**
- * Set up test framework
- */
- public function set_up()
- {
-return;
- // Override settings
- foreach ($this->settings as $name => $value) {
- $this->setting_vals[$name] = ini_get('session.'.$name);
- ini_set('session.'.$name, $value);
- }
-
- // Start with clean environment
- $this->cookie_vals = $_COOKIE;
- $_COOKIE = array();
-
- // Set subclass prefix to match our mock
- $this->ci_set_config('subclass_prefix', 'Mock_Libraries_');
-
- // Establish necessary support classes
- $ci = $this->ci_instance();
- $ldr = $this->ci_core_class('load');
- $ci->load = new $ldr();
- $security = new Mock_Core_Security('UTF-8');
- $ci->input = new CI_Input($security);
-
- // Make sure string helper is available
- $this->ci_vfs_clone('system/helpers/string_helper.php');
-
- // Attach session instance locally
- $config = array(
- 'sess_encrypt_cookie' => FALSE,
- 'sess_use_database' => FALSE,
- 'sess_table_name' => '',
- 'sess_expiration' => 7200,
- 'sess_expire_on_close' => FALSE,
- 'sess_match_ip' => FALSE,
- 'sess_match_useragent' => TRUE,
- 'sess_cookie_name' => 'ci_session',
- 'cookie_path' => '',
- 'cookie_domain' => '',
- 'cookie_secure' => FALSE,
- 'cookie_httponly' => FALSE,
- 'sess_time_to_update' => 300,
- 'time_reference' => 'local',
- 'cookie_prefix' => '',
- 'encryption_key' => 'foobar'
- );
- $this->session = new Mock_Libraries_Session($config);
- }
-
- /**
- * Tear down test framework
- */
- public function tear_down()
- {
-return;
- // Restore environment
- if (session_id()) session_destroy();
- $_SESSION = array();
- $_COOKIE = $this->cookie_vals;
-
- // Restore settings
- foreach ($this->settings as $name => $value) {
- ini_set('session.'.$name, $this->setting_vals[$name]);
- }
- }
-
- /**
- * Test set_userdata() function
- */
- public function test_set_userdata()
- {
-return;
- // Set userdata values for each driver
- $key1 = 'test1';
- $ckey2 = 'test2';
- $nkey2 = 'test3';
- $cmsg1 = 'Some test data';
- $cmsg2 = 42;
- $nmsg1 = 'Other test data';
- $nmsg2 = TRUE;
- $this->session->cookie->set_userdata($key1, $cmsg1);
- $this->session->set_userdata($ckey2, $cmsg2);
- $this->session->native->set_userdata($key1, $nmsg1);
- $this->session->set_userdata($nkey2, $nmsg2);
-
- // Verify independent messages
- $this->assertEquals($cmsg1, $this->session->cookie->userdata($key1));
- $this->assertEquals($nmsg1, $this->session->native->userdata($key1));
-
- // Verify pre-selected driver sets
- $this->assertEquals($cmsg2, $this->session->cookie->userdata($ckey2));
- $this->assertEquals($nmsg2, $this->session->native->userdata($nkey2));
-
- // Verify no crossover
- $this->assertNull($this->session->cookie->userdata($nkey2));
- $this->assertNull($this->session->native->userdata($ckey2));
- }
-
- /**
- * Test the has_userdata() function
- */
- public function test_has_userdata()
- {
-return;
- // Set a userdata value for each driver
- $key = 'hastest';
- $cmsg = 'My test data';
- $this->session->cookie->set_userdata($key, $cmsg);
- $nmsg = 'Your test data';
- $this->session->native->set_userdata($key, $nmsg);
-
- // Verify values exist
- $this->assertTrue($this->session->cookie->has_userdata($key));
- $this->assertTrue($this->session->native->has_userdata($key));
-
- // Verify non-existent values
- $nokey = 'hasnot';
- $this->assertFalse($this->session->cookie->has_userdata($nokey));
- $this->assertFalse($this->session->native->has_userdata($nokey));
- }
-
- /**
- * Test the all_userdata() function
- */
- public function test_all_userdata()
- {
-return;
- // Set a specific series of data for each driver
- $cdata = array(
- 'one' => 'first',
- 'two' => 'second',
- 'three' => 'third',
- 'foo' => 'bar',
- 'bar' => 'baz'
- );
- $ndata = array(
- 'one' => 'gold',
- 'two' => 'silver',
- 'three' => 'bronze',
- 'foo' => 'baz',
- 'bar' => 'foo'
- );
- $this->session->cookie->set_userdata($cdata);
- $this->session->native->set_userdata($ndata);
-
- // Make sure all values are present
- $call = $this->session->cookie->userdata();
- foreach ($cdata as $key => $value) {
- $this->assertEquals($value, $call[$key]);
- }
- $nall = $this->session->native->userdata();
- foreach ($ndata as $key => $value) {
- $this->assertEquals($value, $nall[$key]);
- }
- }
-
- /**
- * Test the unset_userdata() function
- */
- public function test_unset_userdata()
- {
-return;
- // Set a userdata message for each driver
- $key = 'untest';
- $cmsg = 'Other test data';
- $this->session->cookie->set_userdata($key, $cmsg);
- $nmsg = 'Sundry test data';
- $this->session->native->set_userdata($key, $nmsg);
-
- // Verify independent messages
- $this->assertEquals($this->session->cookie->userdata($key), $cmsg);
- $this->assertEquals($this->session->native->userdata($key), $nmsg);
-
- // Unset them and verify absence
- $this->session->cookie->unset_userdata($key);
- $this->session->native->unset_userdata($key);
- $this->assertNull($this->session->cookie->userdata($key));
- $this->assertNull($this->session->native->userdata($key));
- }
-
- /**
- * Test the flashdata() functions
- */
- public function test_flashdata()
- {
-return;
- // Set flashdata message for each driver
- $key = 'fltest';
- $cmsg = 'Some flash data';
- $this->session->cookie->set_flashdata($key, $cmsg);
- $nmsg = 'Other flash data';
- $this->session->native->set_flashdata($key, $nmsg);
-
- // Simulate page reload
- $this->session->cookie->reload();
- $this->session->native->reload();
-
- // Verify independent messages
- $this->assertEquals($cmsg, $this->session->cookie->flashdata($key));
- $this->assertEquals($nmsg, $this->session->native->flashdata($key));
-
- // Simulate next page reload
- $this->session->cookie->reload();
- $this->session->native->reload();
-
- // Verify absence of messages
- $this->assertNull($this->session->cookie->flashdata($key));
- $this->assertNull($this->session->native->flashdata($key));
- }
-
- /**
- * Test the keep_flashdata() function
- */
- public function test_keep_flashdata()
- {
-return;
- // Set flashdata message for each driver
- $key = 'kfltest';
- $cmsg = 'My flash data';
- $this->session->cookie->set_flashdata($key, $cmsg);
- $nmsg = 'Your flash data';
- $this->session->native->set_flashdata($key, $nmsg);
-
- // Simulate page reload and verify independent messages
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEquals($cmsg, $this->session->cookie->flashdata($key));
- $this->assertEquals($nmsg, $this->session->native->flashdata($key));
-
- // Keep messages
- $this->session->cookie->keep_flashdata($key);
- $this->session->native->keep_flashdata($key);
-
- // Simulate next page reload and verify message persistence
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEquals($cmsg, $this->session->cookie->flashdata($key));
- $this->assertEquals($nmsg, $this->session->native->flashdata($key));
-
- // Simulate next page reload and verify absence of messages
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertNull($this->session->cookie->flashdata($key));
- $this->assertNull($this->session->native->flashdata($key));
- }
-
- public function test_keep_flashdata_with_array()
- {
-return;
- // Set flashdata array for each driver
- $cdata = array(
- 'one' => 'first',
- 'two' => 'second',
- 'three' => 'third',
- 'foo' => 'bar',
- 'bar' => 'baz'
- );
- $ndata = array(
- 'one' => 'gold',
- 'two' => 'silver',
- 'three' => 'bronze',
- 'foo' => 'baz',
- 'bar' => 'foo'
- );
- $kdata = array(
- 'one',
- 'two',
- 'three',
- 'foo',
- 'bar'
- );
- $this->session->cookie->set_flashdata($cdata);
- $this->session->native->set_flashdata($ndata);
-
- // Simulate page reload and verify independent messages
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEquals($cdata, $this->session->cookie->flashdata());
- $this->assertEquals($ndata, $this->session->native->flashdata());
-
- // Keep messages
- $this->session->cookie->keep_flashdata($kdata);
- $this->session->native->keep_flashdata($kdata);
-
- // Simulate next page reload and verify message persistence
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEquals($cdata, $this->session->cookie->flashdata());
- $this->assertEquals($ndata, $this->session->native->flashdata());
-
- // Simulate next page reload and verify absence of messages
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEmpty($this->session->cookie->flashdata());
- $this->assertEmpty($this->session->native->flashdata());
- }
-
- /**
- * Test the all_flashdata() function
- */
- public function test_all_flashdata()
- {
-return;
- // Set a specific series of data for each driver
- $cdata = array(
- 'one' => 'first',
- 'two' => 'second',
- 'three' => 'third',
- 'foo' => 'bar',
- 'bar' => 'baz'
- );
- $ndata = array(
- 'one' => 'gold',
- 'two' => 'silver',
- 'three' => 'bronze',
- 'foo' => 'baz',
- 'bar' => 'foo'
- );
- $this->session->cookie->set_flashdata($cdata);
- $this->session->native->set_flashdata($ndata);
-
- // Simulate page reload and make sure all values are present
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEquals($cdata, $this->session->cookie->flashdata());
- $this->assertEquals($ndata, $this->session->native->flashdata());
- }
-
- /**
- * Test the tempdata() functions
- */
- public function test_set_tempdata()
- {
-return;
- // Set tempdata message for each driver - 1 second timeout
- $key = 'tmptest';
- $cmsg = 'Some temp data';
- $this->session->cookie->set_tempdata($key, $cmsg, 1);
- $nmsg = 'Other temp data';
- $this->session->native->set_tempdata($key, $nmsg, 1);
-
- // Simulate page reload and verify independent messages
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertEquals($cmsg, $this->session->cookie->tempdata($key));
- $this->assertEquals($nmsg, $this->session->native->tempdata($key));
-
- // Wait 2 seconds, simulate page reload and verify message absence
- sleep(2);
- $this->session->cookie->reload();
- $this->session->native->reload();
- $this->assertNull($this->session->cookie->tempdata($key));
- $this->assertNull($this->session->native->tempdata($key));
- }
-
- /**
- * Test the unset_tempdata() function
- */
- public function test_unset_tempdata()
- {
-return;
- // Set tempdata message for each driver - 1 second timeout
- $key = 'utmptest';
- $cmsg = 'My temp data';
- $this->session->cookie->set_tempdata($key, $cmsg, 1);
- $nmsg = 'Your temp data';
- $this->session->native->set_tempdata($key, $nmsg, 1);
-
- // Verify independent messages
- $this->assertEquals($cmsg, $this->session->cookie->tempdata($key));
- $this->assertEquals($nmsg, $this->session->native->tempdata($key));
-
- // Unset data and verify message absence
- $this->session->cookie->unset_tempdata($key);
- $this->session->native->unset_tempdata($key);
- $this->assertNull($this->session->cookie->tempdata($key));
- $this->assertNull($this->session->native->tempdata($key));
- }
-
- /**
- * Test the sess_regenerate() function
- */
- public function test_sess_regenerate()
- {
-return;
- // Get current session id, regenerate, and compare
- // Cookie driver
- $oldid = $this->session->cookie->userdata('session_id');
- $this->session->cookie->sess_regenerate();
- $newid = $this->session->cookie->userdata('session_id');
- $this->assertNotEquals($oldid, $newid);
-
- // Native driver - bug #55267 (https://bugs.php.net/bug.php?id=55267) prevents testing this
- // $oldid = session_id();
- // $this->session->native->sess_regenerate();
- // $oldid = session_id();
- // $this->assertNotEquals($oldid, $newid);
- }
-
- /**
- * Test the sess_destroy() function
- */
- public function test_sess_destroy()
- {
-return;
- // Set a userdata message, destroy session, and verify absence
- $key = 'dsttest';
- $msg = 'More test data';
-
- // Cookie driver
- $this->session->cookie->set_userdata($key, $msg);
- $this->assertEquals($msg, $this->session->cookie->userdata($key));
- $this->session->cookie->sess_destroy();
- $this->assertNull($this->session->cookie->userdata($key));
-
- // Native driver
- $this->session->native->set_userdata($key, $msg);
- $this->assertEquals($msg, $this->session->native->userdata($key));
- $this->session->native->sess_destroy();
- $this->assertNull($this->session->native->userdata($key));
- }
-
-}