summaryrefslogtreecommitdiff
path: root/ext/session/tests/019.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/session/tests/019.phpt')
-rw-r--r--ext/session/tests/019.phpt73
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)
+ }
+}
+