summaryrefslogtreecommitdiff
path: root/Zend/tests/gc_028.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/gc_028.phpt')
-rw-r--r--Zend/tests/gc_028.phpt31
1 files changed, 31 insertions, 0 deletions
diff --git a/Zend/tests/gc_028.phpt b/Zend/tests/gc_028.phpt
new file mode 100644
index 000000000..6f330cb60
--- /dev/null
+++ b/Zend/tests/gc_028.phpt
@@ -0,0 +1,31 @@
+--TEST--
+GC 028: GC and destructors
+--FILE--
+<?php
+class Foo {
+ public $bar;
+ function __destruct() {
+ if ($this->bar !== null) {
+ unset($this->bar);
+ }
+ }
+}
+class Bar {
+ public $foo;
+ function __destruct() {
+ if ($this->foo !== null) {
+ unset($this->foo);
+ }
+ }
+
+}
+$foo = new Foo();
+$bar = new Bar();
+$foo->bar = $bar;
+$bar->foo = $foo;
+unset($foo);
+unset($bar);
+var_dump(gc_collect_cycles());
+?>
+--EXPECT--
+int(2)