Annotation of embedaddon/php/ext/standard/tests/serialize/bug21957.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Bug #21957 (serialize() mangles objects with __sleep)
! 3: --FILE--
! 4: <?php
! 5: class test
! 6: {
! 7: public $a, $b;
! 8:
! 9: function test()
! 10: {
! 11: $this->a = 7;
! 12: $this->b = 2;
! 13: }
! 14:
! 15: function __sleep()
! 16: {
! 17: $this->b = 0;
! 18: }
! 19: }
! 20:
! 21: $t['one'] = 'ABC';
! 22: $t['two'] = new test();
! 23:
! 24: var_dump($t);
! 25:
! 26: $s = @serialize($t);
! 27: echo $s . "\n";
! 28:
! 29: var_dump(unserialize($s));
! 30: ?>
! 31: --EXPECT--
! 32: array(2) {
! 33: ["one"]=>
! 34: string(3) "ABC"
! 35: ["two"]=>
! 36: object(test)#1 (2) {
! 37: ["a"]=>
! 38: int(7)
! 39: ["b"]=>
! 40: int(2)
! 41: }
! 42: }
! 43: a:2:{s:3:"one";s:3:"ABC";s:3:"two";N;}
! 44: array(2) {
! 45: ["one"]=>
! 46: string(3) "ABC"
! 47: ["two"]=>
! 48: NULL
! 49: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>