diff options
author | Antony Dovgal <tony2001@php.net> | 2007-06-04 08:24:32 +0000 |
---|---|---|
committer | Antony Dovgal <tony2001@php.net> | 2007-06-04 08:24:32 +0000 |
commit | f673b558cc9a0b28ed045a727b955b08bf77ac92 (patch) | |
tree | 81f91a1160b06e74c451ba30eca57c14ba02a3e1 /Zend/tests | |
parent | ecd414c3b87c1869d324d0bd4620111b2ef9c9f5 (diff) | |
download | php-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.phpt | 27 | ||||
-rw-r--r-- | Zend/tests/class_constants_002.phpt | 31 | ||||
-rw-r--r-- | Zend/tests/class_constants_003.phpt | 33 |
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 |