ReflectionEnumUnitCase_construct.phpt 827 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. ReflectionEnumUnitCase::__construct()
  3. --FILE--
  4. <?php
  5. enum Foo {
  6. case Bar;
  7. const Baz = self::Bar;
  8. }
  9. $case = new ReflectionEnumUnitCase(Foo::class, 'Bar');
  10. var_dump($case->getName());
  11. var_dump($case->isPublic());
  12. var_dump($case->getModifiers());
  13. try {
  14. new ReflectionEnumUnitCase(Foo::class, 'Baz');
  15. } catch (\Exception $e) {
  16. echo $e->getMessage() . "\n";
  17. }
  18. try {
  19. new ReflectionEnumUnitCase(Foo::class, 'Qux');
  20. } catch (\Exception $e) {
  21. echo $e->getMessage() . "\n";
  22. }
  23. try {
  24. new ReflectionEnumUnitCase([], 'Foo');
  25. } catch (Error $e) {
  26. echo $e->getMessage() . "\n";
  27. }
  28. ?>
  29. --EXPECT--
  30. string(3) "Bar"
  31. bool(true)
  32. int(1)
  33. Constant Foo::Baz is not a case
  34. Constant Foo::Qux does not exist
  35. ReflectionEnumUnitCase::__construct(): Argument #1 ($class) must be of type object|string, array given