backed-tryFrom.phpt 644 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. --TEST--
  2. BackedEnum::tryFrom()
  3. --FILE--
  4. <?php
  5. enum Suit: string {
  6. case Hearts = 'H';
  7. case Diamonds = 'D';
  8. case Clubs = 'C';
  9. case Spades = 'S';
  10. }
  11. var_dump(Suit::tryFrom('H'));
  12. var_dump(Suit::tryFrom('D'));
  13. var_dump(Suit::tryFrom('C'));
  14. var_dump(Suit::tryFrom('S'));
  15. var_dump(Suit::tryFrom('X'));
  16. enum Foo: int {
  17. case Bar = 1;
  18. case Baz = 2;
  19. case Beep = 3;
  20. }
  21. var_dump(Foo::tryFrom(1));
  22. var_dump(Foo::tryFrom(2));
  23. var_dump(Foo::tryFrom(3));
  24. var_dump(Foo::tryFrom(4));
  25. ?>
  26. --EXPECT--
  27. enum(Suit::Hearts)
  28. enum(Suit::Diamonds)
  29. enum(Suit::Clubs)
  30. enum(Suit::Spades)
  31. NULL
  32. enum(Foo::Bar)
  33. enum(Foo::Baz)
  34. enum(Foo::Beep)
  35. NULL