summaryrefslogtreecommitdiff
path: root/tests/classes/constants_scope_001.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/classes/constants_scope_001.phpt')
-rw-r--r--tests/classes/constants_scope_001.phpt38
1 files changed, 38 insertions, 0 deletions
diff --git a/tests/classes/constants_scope_001.phpt b/tests/classes/constants_scope_001.phpt
new file mode 100644
index 0000000..5006628
--- /dev/null
+++ b/tests/classes/constants_scope_001.phpt
@@ -0,0 +1,38 @@
+--TEST--
+ZE2 class constants and scope
+--SKIPIF--
+<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 needed'); ?>
+--FILE--
+<?php
+
+class ErrorCodes {
+ const FATAL = "Fatal error\n";
+ const WARNING = "Warning\n";
+ const INFO = "Informational message\n";
+
+ static function print_fatal_error_codes() {
+ echo "FATAL = " . FATAL . "\n";
+ echo "self::FATAL = " . self::FATAL;
+ }
+}
+
+class ErrorCodesDerived extends ErrorCodes {
+ const FATAL = "Worst error\n";
+ static function print_fatal_error_codes() {
+ echo "self::FATAL = " . self::FATAL;
+ echo "parent::FATAL = " . parent::FATAL;
+ }
+}
+
+/* Call the static function and move into the ErrorCodes scope */
+ErrorCodes::print_fatal_error_codes();
+ErrorCodesDerived::print_fatal_error_codes();
+
+?>
+--EXPECTF--
+
+Notice: Use of undefined constant FATAL - assumed 'FATAL' in %sconstants_scope_001.php on line %d
+FATAL = FATAL
+self::FATAL = Fatal error
+self::FATAL = Worst error
+parent::FATAL = Fatal error