diff options
author | Johnathan Croom <johnathancroom@gmail.com> | 2012-11-30 01:54:28 +0100 |
---|---|---|
committer | Johnathan Croom <johnathancroom@gmail.com> | 2012-11-30 01:54:28 +0100 |
commit | 66b36efa5df371874dda1bf4f4843384b6acfa06 (patch) | |
tree | cbfde5b228276c615e0f170b43410d2d9b47f89e | |
parent | 3892995d21bc030ef8f6389abe1669d34c954ccd (diff) |
keep_flashdata array test
-rw-r--r-- | tests/codeigniter/libraries/Session_test.php | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/tests/codeigniter/libraries/Session_test.php b/tests/codeigniter/libraries/Session_test.php index 14469f7fa..50d263827 100644 --- a/tests/codeigniter/libraries/Session_test.php +++ b/tests/codeigniter/libraries/Session_test.php @@ -269,6 +269,56 @@ class Session_test extends CI_TestCase { $this->assertNull($this->session->native->flashdata($key)); } + public function test_keep_flashdata_with_array() + { + // 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->all_flashdata()); + $this->assertEquals($ndata, $this->session->native->all_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->all_flashdata()); + $this->assertEquals($ndata, $this->session->native->all_flashdata()); + + // Simulate next page reload and verify absence of messages + $this->session->cookie->reload(); + $this->session->native->reload(); + $this->assertEmpty($this->session->cookie->all_flashdata()); + $this->assertEmpty($this->session->native->all_flashdata()); + } + /** * Test the all_flashdata() function * @@ -399,4 +449,4 @@ class Session_test extends CI_TestCase { $this->session->native->sess_destroy(); $this->assertNull($this->session->native->userdata($key)); } -}
\ No newline at end of file +} |