diff options
Diffstat (limited to 'ext/session/tests/019.phpt')
| -rw-r--r-- | ext/session/tests/019.phpt | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/ext/session/tests/019.phpt b/ext/session/tests/019.phpt new file mode 100644 index 0000000..3ee8ccd --- /dev/null +++ b/ext/session/tests/019.phpt @@ -0,0 +1,73 @@ +--TEST-- +serializing references test case using globals +--SKIPIF-- +<?php include('skipif.inc'); ?> +--INI-- +session.use_cookies=0 +session.cache_limiter= +session.serialize_handler=php +session.save_handler=files +--FILE-- +<?php + +error_reporting(E_ALL); + +class TFoo { + public $c; + function TFoo($c) { + $this->c = $c; + } + function inc() { + $this->c++; + } +} + +session_id("abtest"); +session_start(); + +$_SESSION["o1"] = new TFoo(42); +$_SESSION["o2"] =& $_SESSION["o1"]; + +session_write_close(); + +unset($_SESSION["o1"]); +unset($_SESSION["o2"]); + +session_start(); + +var_dump($_SESSION); + +$_SESSION["o1"]->inc(); +$_SESSION["o2"]->inc(); + +var_dump($_SESSION); + +session_destroy(); +?> +--EXPECTF-- + +array(2) { + ["o1"]=> + &object(TFoo)#%d (1) { + ["c"]=> + int(42) + } + ["o2"]=> + &object(TFoo)#%d (1) { + ["c"]=> + int(42) + } +} +array(2) { + ["o1"]=> + &object(TFoo)#%d (1) { + ["c"]=> + int(44) + } + ["o2"]=> + &object(TFoo)#%d (1) { + ["c"]=> + int(44) + } +} + |
