]> granicus.if.org Git - php/commitdiff
This commit was manufactured by cvs2svn to create branch 'PHP_4_3'.
authorSVN Migration <svn@php.net>
Mon, 11 Aug 2003 03:22:25 +0000 (03:22 +0000)
committerSVN Migration <svn@php.net>
Mon, 11 Aug 2003 03:22:25 +0000 (03:22 +0000)
ext/standard/tests/serialize/bug21957.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/serialize/bug21957.phpt b/ext/standard/tests/serialize/bug21957.phpt
new file mode 100644 (file)
index 0000000..af2003f
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+Bug #21957 (serialize() mangles objects with __sleep)
+--FILE--
+<?php 
+class test
+{
+       var $a, $b;
+
+       function test()
+       {
+               $this->a = 7;
+               $this->b = 2;
+       }
+
+       function __sleep()
+       {
+               $this->b = 0;
+       }
+}
+
+$t['one'] = 'ABC';
+$t['two'] = new test();
+
+var_dump($t);
+
+$s =  @serialize($t);
+echo $s . "\n";
+
+var_dump(unserialize($s));
+?>
+--EXPECT--
+array(2) {
+  ["one"]=>
+  string(3) "ABC"
+  ["two"]=>
+  object(test)#1 (2) {
+    ["a"]=>
+    int(7)
+    ["b"]=>
+    int(2)
+  }
+}
+a:2:{s:3:"one";s:3:"ABC";s:3:"two";N;}
+array(2) {
+  ["one"]=>
+  string(3) "ABC"
+  ["two"]=>
+  NULL
+}