summaryrefslogtreecommitdiff
path: root/Zend/tests
diff options
context:
space:
mode:
authorAntony Dovgal <tony2001@php.net>2007-06-04 08:24:32 +0000
committerAntony Dovgal <tony2001@php.net>2007-06-04 08:24:32 +0000
commitf673b558cc9a0b28ed045a727b955b08bf77ac92 (patch)
tree81f91a1160b06e74c451ba30eca57c14ba02a3e1 /Zend/tests
parentecd414c3b87c1869d324d0bd4620111b2ef9c9f5 (diff)
downloadphp-git-f673b558cc9a0b28ed045a727b955b08bf77ac92.tar.gz
change E_NOTICE to E_ERROR when using a class constant from non-existent class
(noticed by Jani) add tests
Diffstat (limited to 'Zend/tests')
-rw-r--r--Zend/tests/class_constants_001.phpt27
-rw-r--r--Zend/tests/class_constants_002.phpt31
-rw-r--r--Zend/tests/class_constants_003.phpt33
3 files changed, 91 insertions, 0 deletions
diff --git a/Zend/tests/class_constants_001.phpt b/Zend/tests/class_constants_001.phpt
new file mode 100644
index 0000000000..f2c3b3e548
--- /dev/null
+++ b/Zend/tests/class_constants_001.phpt
@@ -0,0 +1,27 @@
+--TEST--
+class constants basic tests
+--FILE--
+<?php
+
+class test {
+ const val = "string";
+ const val2 = 1;
+}
+
+var_dump(test::val);
+var_dump(test::val2);
+
+var_dump(test::val3);
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(6) "string"
+int(1)
+
+Fatal error: Undefined class constant 'val3' in %s on line %d
+--UEXPECTF--
+unicode(6) "string"
+int(1)
+
+Fatal error: Undefined class constant 'val3' in %s on line %d
diff --git a/Zend/tests/class_constants_002.phpt b/Zend/tests/class_constants_002.phpt
new file mode 100644
index 0000000000..9aad8088da
--- /dev/null
+++ b/Zend/tests/class_constants_002.phpt
@@ -0,0 +1,31 @@
+--TEST--
+class constants as default function arguments
+--FILE--
+<?php
+
+class test {
+ const val = 1;
+}
+
+function foo($v = test::val) {
+ var_dump($v);
+}
+
+function bar($b = NoSuchClass::val) {
+ var_dump($b);
+}
+
+foo();
+foo(5);
+
+bar(10);
+bar();
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(1)
+int(5)
+int(10)
+
+Fatal error: Class 'NoSuchClass' not found in %s on line %d
diff --git a/Zend/tests/class_constants_003.phpt b/Zend/tests/class_constants_003.phpt
new file mode 100644
index 0000000000..c2782ff1c9
--- /dev/null
+++ b/Zend/tests/class_constants_003.phpt
@@ -0,0 +1,33 @@
+--TEST--
+class constants as default function arguments and dynamically loaded classes
+--FILE--
+<?php
+
+$class_data = <<<DATA
+<?php
+class test {
+ const val = 1;
+}
+?>
+DATA;
+
+$filename = dirname(__FILE__)."/cc003.dat";
+file_put_contents($filename, $class_data);
+
+function foo($v = test::val) {
+ var_dump($v);
+}
+
+include $filename;
+
+foo();
+foo(5);
+
+unlink($filename);
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(1)
+int(5)
+Done