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