internal_enums.phpt 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. --TEST--
  2. Internal enums
  3. --EXTENSIONS--
  4. zend_test
  5. --FILE--
  6. <?php
  7. var_dump($bar = ZendTestUnitEnum::Bar);
  8. var_dump($bar === ZendTestUnitEnum::Bar);
  9. var_dump($bar instanceof UnitEnum);
  10. var_dump($foo = zend_get_unit_enum());
  11. var_dump($foo === ZendTestUnitEnum::Foo);
  12. var_dump(ZendTestUnitEnum::cases());
  13. echo "\n";
  14. var_dump($foo = ZendTestStringEnum::Foo);
  15. var_dump($foo instanceof BackedEnum);
  16. var_dump(ZendTestStringEnum::Foo->value);
  17. var_dump($bar = ZendTestStringEnum::from("Test2"));
  18. var_dump($bar === ZendTestStringEnum::Bar);
  19. var_dump(ZendTestStringEnum::tryFrom("Test3"));
  20. var_dump(ZendTestStringEnum::tryFrom(42));
  21. var_dump(ZendTestStringEnum::tryFrom(43));
  22. var_dump(ZendTestStringEnum::tryFrom(0));
  23. var_dump(ZendTestStringEnum::cases());
  24. var_dump($s = serialize($foo));
  25. var_dump(unserialize($s));
  26. var_dump(unserialize($s) === $foo);
  27. ?>
  28. --EXPECT--
  29. enum(ZendTestUnitEnum::Bar)
  30. bool(true)
  31. bool(true)
  32. enum(ZendTestUnitEnum::Foo)
  33. bool(true)
  34. array(2) {
  35. [0]=>
  36. enum(ZendTestUnitEnum::Foo)
  37. [1]=>
  38. enum(ZendTestUnitEnum::Bar)
  39. }
  40. enum(ZendTestStringEnum::Foo)
  41. bool(true)
  42. string(5) "Test1"
  43. enum(ZendTestStringEnum::Bar)
  44. bool(true)
  45. NULL
  46. enum(ZendTestStringEnum::FortyTwo)
  47. NULL
  48. NULL
  49. array(4) {
  50. [0]=>
  51. enum(ZendTestStringEnum::Foo)
  52. [1]=>
  53. enum(ZendTestStringEnum::Bar)
  54. [2]=>
  55. enum(ZendTestStringEnum::Baz)
  56. [3]=>
  57. enum(ZendTestStringEnum::FortyTwo)
  58. }
  59. string(30) "E:22:"ZendTestStringEnum:Foo";"
  60. enum(ZendTestStringEnum::Foo)
  61. bool(true)