diff options
Diffstat (limited to 'Zend/tests/enum/backed-tryFrom.phpt')
-rw-r--r-- | Zend/tests/enum/backed-tryFrom.phpt | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Zend/tests/enum/backed-tryFrom.phpt b/Zend/tests/enum/backed-tryFrom.phpt new file mode 100644 index 0000000000..81c36fcc2b --- /dev/null +++ b/Zend/tests/enum/backed-tryFrom.phpt @@ -0,0 +1,40 @@ +--TEST-- +BackedEnum::tryFrom() +--FILE-- +<?php + +enum Suit: string { + case Hearts = 'H'; + case Diamonds = 'D'; + case Clubs = 'C'; + case Spades = 'S'; +} + +var_dump(Suit::tryFrom('H')); +var_dump(Suit::tryFrom('D')); +var_dump(Suit::tryFrom('C')); +var_dump(Suit::tryFrom('S')); +var_dump(Suit::tryFrom('X')); + +enum Foo: int { + case Bar = 1; + case Baz = 2; + case Beep = 3; +} + +var_dump(Foo::tryFrom(1)); +var_dump(Foo::tryFrom(2)); +var_dump(Foo::tryFrom(3)); +var_dump(Foo::tryFrom(4)); + +?> +--EXPECT-- +enum(Suit::Hearts) +enum(Suit::Diamonds) +enum(Suit::Clubs) +enum(Suit::Spades) +NULL +enum(Foo::Bar) +enum(Foo::Baz) +enum(Foo::Beep) +NULL |