diff options
author | Phil Sturgeon <email@philsturgeon.co.uk> | 2012-08-29 15:53:57 +0200 |
---|---|---|
committer | Phil Sturgeon <email@philsturgeon.co.uk> | 2012-08-29 15:53:57 +0200 |
commit | 1e40c213610a4bb643e51c2b298629471664163b (patch) | |
tree | 79a3e038ab0a8e3ec7a3c878eb05eb9cd9c44fa1 /tests/mocks/libraries/session.php | |
parent | 2d5c209943ef1e2644504e8d5cb32d3d66b45632 (diff) | |
parent | 88b636b06dd91807706e2d442d910fe8b6a3b50c (diff) |
Merge pull request #353 from dchill42/session
Switched Sessions to use Drivers
Adding native PHP sessions and keeping original-flavor CI cookie sessions
Diffstat (limited to 'tests/mocks/libraries/session.php')
-rw-r--r-- | tests/mocks/libraries/session.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/mocks/libraries/session.php b/tests/mocks/libraries/session.php new file mode 100644 index 000000000..9d6feee42 --- /dev/null +++ b/tests/mocks/libraries/session.php @@ -0,0 +1,43 @@ +<?php + +/** + * Mock library to add testing features to Session driver library + */ +class Mock_Libraries_Session extends CI_Session { + /** + * Simulate new page load + */ + public function reload() + { + $this->_flashdata_sweep(); + $this->_flashdata_mark(); + $this->_tempdata_sweep(); + } +} + +/** + * Mock cookie driver to overload cookie setting + */ +class Mock_Libraries_Session_cookie extends CI_Session_cookie { + /** + * Overload _setcookie to manage $_COOKIE values, since actual cookies can't be set in unit testing + */ + protected function _setcookie($name, $value = '', $expire = 0, $path = '', $domain = '', $secure = false, + $httponly = false) + { + if (empty($value) || $expire <= time()) { + // Clear cookie + unset($_COOKIE[$name]); + } + else { + // Set cookie + $_COOKIE[$name] = $value; + } + } +} + +/** + * Mock native driver (just for consistency in loading) + */ +class Mock_Libraries_Session_native extends CI_Session_native { } + |