summaryrefslogtreecommitdiff
path: root/Zend/tests/enum/case-attributes.phpt
diff options
context:
space:
mode:
authorIlija Tovilo <ilija.tovilo@me.com>2020-06-10 23:10:18 +0200
committerIlija Tovilo <ilija.tovilo@me.com>2021-03-17 19:08:03 +0100
commit269c8dac1d56ee85d71ae94d9b28dd7d8e8de7b7 (patch)
tree810ac41b2157ff4e8063f9696f97e1a9d77837c4 /Zend/tests/enum/case-attributes.phpt
parenta6fc427b8c51015c16541c112a26dd06bd75e99e (diff)
downloadphp-git-269c8dac1d56ee85d71ae94d9b28dd7d8e8de7b7.tar.gz
Implement enums
RFC: https://wiki.php.net/rfc/enumerations Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Closes GH-6489.
Diffstat (limited to 'Zend/tests/enum/case-attributes.phpt')
-rw-r--r--Zend/tests/enum/case-attributes.phpt25
1 files changed, 25 insertions, 0 deletions
diff --git a/Zend/tests/enum/case-attributes.phpt b/Zend/tests/enum/case-attributes.phpt
new file mode 100644
index 0000000000..a5ec8600cd
--- /dev/null
+++ b/Zend/tests/enum/case-attributes.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Enum case attributes
+--FILE--
+<?php
+
+#[Attribute(Attribute::TARGET_CLASS_CONSTANT)]
+class EnumCaseAttribute {
+ public function __construct(
+ public string $value,
+ ) {}
+}
+
+enum Foo {
+ #[EnumCaseAttribute('Bar')]
+ case Bar;
+}
+
+var_dump((new \ReflectionClassConstant(Foo::class, 'Bar'))->getAttributes(EnumCaseAttribute::class)[0]->newInstance());
+
+?>
+--EXPECT--
+object(EnumCaseAttribute)#1 (1) {
+ ["value"]=>
+ string(3) "Bar"
+}