summaryrefslogtreecommitdiff
path: root/Zend/tests/enum/enum_exists.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/enum/enum_exists.phpt')
-rw-r--r--Zend/tests/enum/enum_exists.phpt41
1 files changed, 41 insertions, 0 deletions
diff --git a/Zend/tests/enum/enum_exists.phpt b/Zend/tests/enum/enum_exists.phpt
new file mode 100644
index 0000000000..d1e86447c4
--- /dev/null
+++ b/Zend/tests/enum/enum_exists.phpt
@@ -0,0 +1,41 @@
+--TEST--
+enum_exists
+--FILE--
+<?php
+
+enum Foo {
+ case Bar;
+}
+
+class Baz {}
+
+spl_autoload_register(function ($className) {
+ echo "Triggered autoloader with class $className\n";
+
+ if ($className === 'Quux') {
+ enum Quux {}
+ }
+});
+
+var_dump(enum_exists(Foo::class));
+var_dump(enum_exists(Foo::Bar::class));
+var_dump(enum_exists(Baz::class));
+var_dump(enum_exists(Qux::class));
+var_dump(enum_exists(Quux::class, false));
+var_dump(enum_exists(Quux::class, true));
+var_dump(enum_exists(Quuz::class, false));
+var_dump(enum_exists(Quuz::class, true));
+
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(false)
+Triggered autoloader with class Qux
+bool(false)
+bool(false)
+Triggered autoloader with class Quux
+bool(true)
+bool(false)
+Triggered autoloader with class Quuz
+bool(false)