ReflectionEnum_getCases.phpt 874 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. --TEST--
  2. ReflectionEnum::getCases()
  3. --FILE--
  4. <?php
  5. enum Enum_ {
  6. case Foo;
  7. case Bar;
  8. const Baz = self::Bar;
  9. }
  10. enum IntEnum: int {
  11. case Foo = 0;
  12. case Bar = 1;
  13. const Baz = self::Bar;
  14. }
  15. var_dump((new ReflectionEnum(Enum_::class))->getCases());
  16. var_dump((new ReflectionEnum(IntEnum::class))->getCases());
  17. ?>
  18. --EXPECT--
  19. array(2) {
  20. [0]=>
  21. object(ReflectionEnumUnitCase)#2 (2) {
  22. ["name"]=>
  23. string(3) "Foo"
  24. ["class"]=>
  25. string(5) "Enum_"
  26. }
  27. [1]=>
  28. object(ReflectionEnumUnitCase)#3 (2) {
  29. ["name"]=>
  30. string(3) "Bar"
  31. ["class"]=>
  32. string(5) "Enum_"
  33. }
  34. }
  35. array(2) {
  36. [0]=>
  37. object(ReflectionEnumBackedCase)#2 (2) {
  38. ["name"]=>
  39. string(3) "Foo"
  40. ["class"]=>
  41. string(7) "IntEnum"
  42. }
  43. [1]=>
  44. object(ReflectionEnumBackedCase)#1 (2) {
  45. ["name"]=>
  46. string(3) "Bar"
  47. ["class"]=>
  48. string(7) "IntEnum"
  49. }
  50. }