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