]> granicus.if.org Git - php/commitdiff
Test for bug 26737:
authorMagnus M��tt� <magnus@php.net>
Thu, 15 Jul 2004 11:52:04 +0000 (11:52 +0000)
committerMagnus M��tt� <magnus@php.net>
Thu, 15 Jul 2004 11:52:04 +0000 (11:52 +0000)
Protected and private variables are not saved on serialization
when a user defined __sleep is used.

tests/classes/bug26737.phpt [new file with mode: 0644]

diff --git a/tests/classes/bug26737.phpt b/tests/classes/bug26737.phpt
new file mode 100644 (file)
index 0000000..de37eaf
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+Bug #26737 (Protected and private variables are not saved on serialization when a user defined __sleep is used)
+--FILE--
+<?php
+class foo
+{
+       private $private = 'private';
+       protected $protected = 'protected';
+       public $public = 'public';
+
+       public function __sleep()
+       {
+               return array('private', 'protected', 'public');
+       }
+}
+$foo = new foo();
+$data = serialize($foo);
+var_dump(str_replace("\0", '\0', $data));
+?>
+--EXPECT--
+string(114) "O:3:"foo":3:{s:12:"\0foo\0private";s:7:"private";s:12:"\0*\0protected";s:9:"protected";s:6:"public";s:6:"public";}"