unserialize-refcount.phpt 667 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. --TEST--
  2. Enum unserialize refcount
  3. --FILE--
  4. <?php
  5. enum Foo {
  6. case Bar;
  7. }
  8. debug_zval_dump(Foo::Bar);
  9. $foo = Foo::Bar;
  10. debug_zval_dump($foo);
  11. $bar = unserialize('E:7:"Foo:Bar";');
  12. debug_zval_dump($foo);
  13. unset($bar);
  14. debug_zval_dump($foo);
  15. unset($foo);
  16. debug_zval_dump(Foo::Bar);
  17. ?>
  18. --EXPECT--
  19. object(Foo)#1 (1) refcount(2){
  20. ["name"]=>
  21. string(3) "Bar" interned
  22. }
  23. object(Foo)#1 (1) refcount(3){
  24. ["name"]=>
  25. string(3) "Bar" interned
  26. }
  27. object(Foo)#1 (1) refcount(4){
  28. ["name"]=>
  29. string(3) "Bar" interned
  30. }
  31. object(Foo)#1 (1) refcount(3){
  32. ["name"]=>
  33. string(3) "Bar" interned
  34. }
  35. object(Foo)#1 (1) refcount(2){
  36. ["name"]=>
  37. string(3) "Bar" interned
  38. }