PATH:
opt
/
alt
/
tests
/
alt-php56-pecl-igbinary_2.0.8-1.el8
/
tests
--TEST-- Correctly unserialize cyclic object references --SKIPIF-- --INI-- igbinary.compact_strings = On --FILE-- <?php $a = new stdClass(); $a->foo = &$a; $a->bar = &$a; $b = new stdClass(); $b->cyclic = &$a; printf("%s\n", serialize($b)); $ig_ser = igbinary_serialize($b); printf("%s\n", bin2hex($ig_ser)); $ig = igbinary_unserialize($ig_ser); printf("%s\n", serialize($ig)); var_dump($ig); $f = &$ig->cyclic->foo; $f = 'V'; var_dump($ig); // Note: While the php7 unserializer consistently makes a distinction between refs to an object and non-refs, // the php5 serializer does not yet. --EXPECTF-- O:8:"stdClass":1:{s:6:"cyclic";O:8:"stdClass":2:{s:3:"foo";R:2;s:3:"bar";R:2;}} 000000021708737464436c617373140111066379636c6963251a0014021103666f6f2522011103626172252201 O:8:"stdClass":1:{s:6:"cyclic";O:8:"stdClass":2:{s:3:"foo";R:2;s:3:"bar";R:2;}} object(stdClass)#3 (1) { ["cyclic"]=> &object(stdClass)#4 (2) { ["foo"]=> *RECURSION* ["bar"]=> *RECURSION* } } object(stdClass)#3 (1) { ["cyclic"]=> &string(1) "V" }
[-] igbinary_015c.phpt
[edit]
[-] igbinary_043.phpt
[edit]
[-] igbinary_057.phpt
[edit]
[-] igbinary_bug72134.phpt
[edit]
[-] igbinary_045.phpt
[edit]
[-] igbinary_045b.phpt
[edit]
[-] igbinary_063.phpt
[edit]
[-] igbinary_069.phpt
[edit]
[-] igbinary_052.phpt
[edit]
[-] igbinary_004.phpt
[edit]
[-] igbinary_017.phpt
[edit]
[-] igbinary_053.phpt
[edit]
[-] igbinary_032.phpt
[edit]
[-] igbinary_058.phpt
[edit]
[-] igbinary_005.phpt
[edit]
[-] igbinary_046b.phpt
[edit]
[-] igbinary_063_php72.phpt
[edit]
[-] igbinary_064.phpt
[edit]
[-] igbinary_044.phpt
[edit]
[-] igbinary_033.phpt
[edit]
[-] igbinary_040.phpt
[edit]
[-] igbinary_046c.phpt
[edit]
[-] igbinary_049b.phpt
[edit]
[-] igbinary_006.phpt
[edit]
[-] igbinary_054.phpt
[edit]
[-] igbinary_063_php7.phpt
[edit]
[-] igbinary_046d.phpt
[edit]
[-] igbinary_046.phpt
[edit]
[-] igbinary_021.phpt
[edit]
[-] igbinary_034.phpt
[edit]
[-] igbinary_059.phpt
[edit]
[-] igbinary_068.phpt
[edit]
[-] igbinary_029.phpt
[edit]
[-] igbinary_014.phpt
[edit]
[-] igbinary_025.phpt
[edit]
[-] igbinary_016.phpt
[edit]
[-] igbinary_048b.phpt
[edit]
[-] igbinary_024.phpt
[edit]
[-] igbinary_055.phpt
[edit]
[-] igbinary_048.phpt
[edit]
[-] igbinary_009.phpt
[edit]
[-] igbinary_051.phpt
[edit]
[-] igbinary_023.phpt
[edit]
[-] igbinary_012.phpt
[edit]
[-] igbinary_030.phpt
[edit]
[-] igbinary_058b.phpt
[edit]
[-] igbinary_065.phpt
[edit]
[-] igbinary_018.phpt
[edit]
[-] igbinary_015.phpt
[edit]
[-] igbinary_030_php7.phpt
[edit]
[-] igbinary_062.phpt
[edit]
[-] igbinary_042.phpt
[edit]
[-] igbinary_026b.phpt
[edit]
[-] igbinary_002.phpt
[edit]
[-] igbinary_041.phpt
[edit]
[-] igbinary_031.phpt
[edit]
[-] igbinary_027.phpt
[edit]
[-] igbinary_020.phpt
[edit]
[-] igbinary_022.phpt
[edit]
[-] igbinary_030_php72.phpt
[edit]
[-] igbinary_015b.phpt
[edit]
[-] igbinary_007.phpt
[edit]
[-] igbinary_049.phpt
[edit]
[-] igbinary_050.phpt
[edit]
[+]
..
[-] igbinary_013.phpt
[edit]
[-] igbinary_010.phpt
[edit]
[-] igbinary_028.phpt
[edit]
[-] igbinary_045c.phpt
[edit]
[-] igbinary_001.phpt
[edit]
[-] igbinary_003.phpt
[edit]
[-] igbinary_066.phpt
[edit]
[-] igbinary_008.phpt
[edit]
[-] igbinary_009b.phpt
[edit]
[-] igbinary_026.phpt
[edit]
[-] igbinary_047.phpt
[edit]