diff options
Diffstat (limited to 'Zend/tests/enum/unserialize-refcount.phpt')
-rw-r--r-- | Zend/tests/enum/unserialize-refcount.phpt | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/Zend/tests/enum/unserialize-refcount.phpt b/Zend/tests/enum/unserialize-refcount.phpt new file mode 100644 index 0000000000..447b3af182 --- /dev/null +++ b/Zend/tests/enum/unserialize-refcount.phpt @@ -0,0 +1,45 @@ +--TEST-- +Enum unserialize refcount +--FILE-- +<?php + +enum Foo { + case Bar; +} + +debug_zval_dump(Foo::Bar); + +$foo = Foo::Bar; +debug_zval_dump($foo); + +$bar = unserialize('E:7:"Foo:Bar";'); +debug_zval_dump($foo); + +unset($bar); +debug_zval_dump($foo); + +unset($foo); +debug_zval_dump(Foo::Bar); + +?> +--EXPECT-- +object(Foo)#1 (1) refcount(2){ + ["name"]=> + string(3) "Bar" interned +} +object(Foo)#1 (1) refcount(3){ + ["name"]=> + string(3) "Bar" interned +} +object(Foo)#1 (1) refcount(4){ + ["name"]=> + string(3) "Bar" interned +} +object(Foo)#1 (1) refcount(3){ + ["name"]=> + string(3) "Bar" interned +} +object(Foo)#1 (1) refcount(2){ + ["name"]=> + string(3) "Bar" interned +} |