Commit:    f1e37d03c117317f543d9ff68ea8e3e23da077bd
Author:    Marco Pivetta <ocram...@gmail.com>         Thu, 20 Jun 2013 10:34:45 
+0200
Committer: Stanislav Malyshev <s...@php.net>      Sun, 23 Jun 2013 13:53:46 
-0700
Parents:   61fb822d1a474d475d3e608ba60541d5b79029cf
Branches:  PHP-5.4 PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=f1e37d03c117317f543d9ff68ea8e3e23da077bd

Log:
Adding test to verify that __sleep can handle parent classes' private members

Changed paths:
  A  tests/classes/private_members_serialization.phpt


Diff:
diff --git a/tests/classes/private_members_serialization.phpt 
b/tests/classes/private_members_serialization.phpt
new file mode 100644
index 0000000..c8dd3ab
--- /dev/null
+++ b/tests/classes/private_members_serialization.phpt
@@ -0,0 +1,23 @@
+--TEST--
+Verifies that it is possible to return private member names of parent classes 
in __sleep
+--FILE--
+<?php
+class foo
+{
+       private $private = 'private';
+       protected $protected = 'protected';
+       public $public = 'public';
+}
+
+class bar extends foo
+{
+       public function __sleep()
+       {
+               return array("\0foo\0private", 'protected', 'public');
+       }
+}
+
+var_dump(str_replace("\0", '\0', serialize(new bar())));
+?>
+--EXPECTF--
+string(114) 
"O:3:"bar":3:{s:12:"\0foo\0private";s:7:"private";s:12:"\0*\0protected";s:9:"protected";s:6:"public";s:6:"public";}"


--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to