diff options
Diffstat (limited to 'Zend/tests/gc_009.phpt')
-rw-r--r-- | Zend/tests/gc_009.phpt | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/Zend/tests/gc_009.phpt b/Zend/tests/gc_009.phpt new file mode 100644 index 0000000000..3b7ed066fc --- /dev/null +++ b/Zend/tests/gc_009.phpt @@ -0,0 +1,48 @@ +--TEST-- +GC 009: Unreferensed array-object cycle +--FILE-- +<?php +$a = array(); +$a[0] = new stdClass(); +$a[0]->a = array(); +$a[0]->a[0] =& $a[0]; +var_dump($a[0]); +var_dump(gc_collect_cycles()); +unset($a); +var_dump(gc_collect_cycles()); +echo "ok\n" +?> +--EXPECT-- +object(stdClass)#1 (1) { + ["a"]=> + array(1) { + [0]=> + &object(stdClass)#1 (1) { + ["a"]=> + array(1) { + [0]=> + *RECURSION* + } + } + } +} +int(0) +int(2) +ok +--UEXPECT-- +object(stdClass)#1 (1) { + [u"a"]=> + array(1) { + [0]=> + &object(stdClass)#1 (1) { + [u"a"]=> + array(1) { + [0]=> + *RECURSION* + } + } + } +} +int(0) +int(2) +ok |