summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/tests/errmsg_001.phpt16
-rw-r--r--Zend/tests/errmsg_002.phpt14
-rw-r--r--Zend/tests/errmsg_003.phpt19
-rw-r--r--Zend/tests/errmsg_004.phpt15
-rw-r--r--Zend/tests/errmsg_005.phpt18
-rw-r--r--Zend/tests/errmsg_006.phpt12
-rw-r--r--Zend/tests/errmsg_007.phpt12
-rw-r--r--Zend/tests/errmsg_008.phpt12
-rw-r--r--Zend/tests/errmsg_009.phpt13
-rw-r--r--Zend/tests/errmsg_010.phpt13
-rw-r--r--Zend/tests/errmsg_011.phpt16
-rw-r--r--Zend/tests/errmsg_012.phpt11
-rw-r--r--Zend/tests/errmsg_013.phpt14
-rw-r--r--Zend/tests/errmsg_014.phpt17
-rw-r--r--Zend/tests/errmsg_015.phpt14
-rw-r--r--Zend/tests/errmsg_016.phpt14
-rw-r--r--Zend/tests/errmsg_017.phpt14
-rw-r--r--Zend/tests/errmsg_018.phpt15
-rw-r--r--Zend/tests/errmsg_019.phpt14
-rw-r--r--Zend/tests/errmsg_020.phpt14
-rw-r--r--Zend/tests/errmsg_021.phpt17
-rw-r--r--Zend/tests/errmsg_022.phpt14
-rw-r--r--Zend/tests/errmsg_023.phpt17
-rw-r--r--Zend/tests/errmsg_024.phpt17
-rw-r--r--Zend/tests/errmsg_025.phpt20
-rw-r--r--Zend/tests/errmsg_026.phpt12
-rw-r--r--Zend/tests/errmsg_027.phpt16
-rw-r--r--Zend/tests/errmsg_028.phpt12
-rw-r--r--Zend/tests/errmsg_029.phpt12
-rw-r--r--Zend/tests/errmsg_030.phpt12
-rw-r--r--Zend/tests/errmsg_031.phpt12
-rw-r--r--Zend/tests/errmsg_032.phpt15
-rw-r--r--Zend/tests/errmsg_033.phpt15
-rw-r--r--Zend/tests/errmsg_034.phpt15
-rw-r--r--Zend/tests/errmsg_035.phpt12
-rw-r--r--Zend/tests/errmsg_036.phpt12
-rw-r--r--Zend/tests/errmsg_037.phpt13
-rw-r--r--Zend/tests/errmsg_038.phpt13
-rw-r--r--Zend/tests/errmsg_039.phpt14
-rw-r--r--Zend/tests/errmsg_040.phpt13
-rw-r--r--Zend/tests/errmsg_041.phpt11
-rw-r--r--Zend/tests/errmsg_042.phpt13
-rw-r--r--Zend/tests/errmsg_043.phpt12
-rw-r--r--Zend/tests/globals.inc15
-rw-r--r--Zend/tests/globals_001.phpt34
-rw-r--r--Zend/tests/globals_002.phpt37
-rw-r--r--Zend/tests/globals_003.phpt43
-rw-r--r--Zend/tests/globals_004.phpt28
48 files changed, 763 insertions, 0 deletions
diff --git a/Zend/tests/errmsg_001.phpt b/Zend/tests/errmsg_001.phpt
new file mode 100644
index 0000000000..b85e032b90
--- /dev/null
+++ b/Zend/tests/errmsg_001.phpt
@@ -0,0 +1,16 @@
+--TEST--
+errmsg: Non-abstract method must contain body
+--FILE--
+<?php
+
+abstract class test {
+}
+
+class Impl extends Test {
+ function Foo();
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Non-abstract method Impl::Foo() must contain body in %s on line %d
diff --git a/Zend/tests/errmsg_002.phpt b/Zend/tests/errmsg_002.phpt
new file mode 100644
index 0000000000..b7330c9f1f
--- /dev/null
+++ b/Zend/tests/errmsg_002.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: function cannot be declared private
+--FILE--
+<?php
+
+abstract class test {
+ abstract private function foo() {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Abstract function test::foo() cannot be declared private in %s on line %d
diff --git a/Zend/tests/errmsg_003.phpt b/Zend/tests/errmsg_003.phpt
new file mode 100644
index 0000000000..64e458781d
--- /dev/null
+++ b/Zend/tests/errmsg_003.phpt
@@ -0,0 +1,19 @@
+--TEST--
+errmsg: cannot reassign $this (by ref)
+--FILE--
+<?php
+
+class test {
+ function foo() {
+ $a = new test;
+ $this = &$a;
+ }
+}
+
+$t = new test;
+$t->foo();
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot re-assign $this in %s on line %d
diff --git a/Zend/tests/errmsg_004.phpt b/Zend/tests/errmsg_004.phpt
new file mode 100644
index 0000000000..e6d22d6aba
--- /dev/null
+++ b/Zend/tests/errmsg_004.phpt
@@ -0,0 +1,15 @@
+--TEST--
+errmsg: can't use function return value in write context
+--FILE--
+<?php
+
+function foo() {
+ return "blah";
+}
+
+foo() = 1;
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Can't use function return value in write context in %s on line %d
diff --git a/Zend/tests/errmsg_005.phpt b/Zend/tests/errmsg_005.phpt
new file mode 100644
index 0000000000..31c924cbb3
--- /dev/null
+++ b/Zend/tests/errmsg_005.phpt
@@ -0,0 +1,18 @@
+--TEST--
+errmsg: can't use method return value in write context
+--FILE--
+<?php
+
+class test {
+ function foo() {
+ return "blah";
+ }
+}
+
+$t = new test;
+$t->foo() = 1;
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Can't use method return value in write context in %s on line %d
diff --git a/Zend/tests/errmsg_006.phpt b/Zend/tests/errmsg_006.phpt
new file mode 100644
index 0000000000..976093d854
--- /dev/null
+++ b/Zend/tests/errmsg_006.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: can't use [] for reading
+--FILE--
+<?php
+
+$a = array();
+$b = $a[];
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use [] for reading in %s on line %d
diff --git a/Zend/tests/errmsg_007.phpt b/Zend/tests/errmsg_007.phpt
new file mode 100644
index 0000000000..1ac296695d
--- /dev/null
+++ b/Zend/tests/errmsg_007.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: can't use [] for reading - 2
+--FILE--
+<?php
+
+$a = array();
+isset($a[]);
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use [] for reading in %s on line %d
diff --git a/Zend/tests/errmsg_008.phpt b/Zend/tests/errmsg_008.phpt
new file mode 100644
index 0000000000..e900603a89
--- /dev/null
+++ b/Zend/tests/errmsg_008.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: can't use [] for unsetting
+--FILE--
+<?php
+
+$a = array();
+unset($a[]);
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use [] for unsetting in %s on line %d
diff --git a/Zend/tests/errmsg_009.phpt b/Zend/tests/errmsg_009.phpt
new file mode 100644
index 0000000000..4834fa3e7a
--- /dev/null
+++ b/Zend/tests/errmsg_009.phpt
@@ -0,0 +1,13 @@
+--TEST--
+errmsg: multiple access type modifiers are not allowed (properties)
+--FILE--
+<?php
+
+class test {
+ public private $var;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Multiple access type modifiers are not allowed in %s on line %d
diff --git a/Zend/tests/errmsg_010.phpt b/Zend/tests/errmsg_010.phpt
new file mode 100644
index 0000000000..ae2572f7bc
--- /dev/null
+++ b/Zend/tests/errmsg_010.phpt
@@ -0,0 +1,13 @@
+--TEST--
+errmsg: multiple access type modifiers are not allowed (methods)
+--FILE--
+<?php
+
+class test {
+ private protected function foo() {}
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Multiple access type modifiers are not allowed in %s on line %d
diff --git a/Zend/tests/errmsg_011.phpt b/Zend/tests/errmsg_011.phpt
new file mode 100644
index 0000000000..9cfde0f8bb
--- /dev/null
+++ b/Zend/tests/errmsg_011.phpt
@@ -0,0 +1,16 @@
+--TEST--
+errmsg: cannot redeclare (method)
+--FILE--
+<?php
+
+class test {
+
+ function foo() {}
+ function foo() {}
+
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot redeclare test::foo() in %s on line %d
diff --git a/Zend/tests/errmsg_012.phpt b/Zend/tests/errmsg_012.phpt
new file mode 100644
index 0000000000..183785be04
--- /dev/null
+++ b/Zend/tests/errmsg_012.phpt
@@ -0,0 +1,11 @@
+--TEST--
+errmsg: __autoload() must take exactly 1 argument
+--FILE--
+<?php
+
+function __autoload($a, $b) {}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: __autoload() must take exactly 1 argument in %s on line %d
diff --git a/Zend/tests/errmsg_013.phpt b/Zend/tests/errmsg_013.phpt
new file mode 100644
index 0000000000..d1f248ec28
--- /dev/null
+++ b/Zend/tests/errmsg_013.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: default value for parameters with array type hint can only be an array or NULL
+--FILE--
+<?php
+
+class test {
+ function foo(array $a = "s") {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Default value for parameters with array type hint can only be an array or NULL in %s on line %d
diff --git a/Zend/tests/errmsg_014.phpt b/Zend/tests/errmsg_014.phpt
new file mode 100644
index 0000000000..77e12b05e9
--- /dev/null
+++ b/Zend/tests/errmsg_014.phpt
@@ -0,0 +1,17 @@
+--TEST--
+errmsg: cannot call __clone() method on objects
+--FILE--
+<?php
+
+class test {
+ function __clone() {
+ }
+}
+
+$t = new test;
+$t->__clone();
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot call __clone() method on objects - use 'clone $obj' instead in %s on line %d
diff --git a/Zend/tests/errmsg_015.phpt b/Zend/tests/errmsg_015.phpt
new file mode 100644
index 0000000000..8e626e5092
--- /dev/null
+++ b/Zend/tests/errmsg_015.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: __clone() cannot accept any arguments
+--FILE--
+<?php
+
+class test {
+ function __clone($var) {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Method test::__clone() cannot accept any arguments in %s on line %d
diff --git a/Zend/tests/errmsg_016.phpt b/Zend/tests/errmsg_016.phpt
new file mode 100644
index 0000000000..ccda07b9a3
--- /dev/null
+++ b/Zend/tests/errmsg_016.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: __isset() must take exactly 1 argument
+--FILE--
+<?php
+
+class test {
+ function __isset() {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Method test::__isset() must take exactly 1 argument in %s on line %d
diff --git a/Zend/tests/errmsg_017.phpt b/Zend/tests/errmsg_017.phpt
new file mode 100644
index 0000000000..df2b665687
--- /dev/null
+++ b/Zend/tests/errmsg_017.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: __unset() must take exactly 1 argument
+--FILE--
+<?php
+
+class test {
+ function __unset() {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Method test::__unset() must take exactly 1 argument in %s on line %d
diff --git a/Zend/tests/errmsg_018.phpt b/Zend/tests/errmsg_018.phpt
new file mode 100644
index 0000000000..fb05cb1a53
--- /dev/null
+++ b/Zend/tests/errmsg_018.phpt
@@ -0,0 +1,15 @@
+--TEST--
+errmsg: static abstract function
+--FILE--
+<?php
+
+class test {
+ static abstract function foo ();
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Strict Standards: Static function test::foo() should not be abstract in %s on line %d
+
+Fatal error: Class test contains 1 abstract method and must therefore be declared abstract or implement the remaining methods (test::foo) in %s on line %d
diff --git a/Zend/tests/errmsg_019.phpt b/Zend/tests/errmsg_019.phpt
new file mode 100644
index 0000000000..2b45650cf2
--- /dev/null
+++ b/Zend/tests/errmsg_019.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: __destruct() cannot take arguments
+--FILE--
+<?php
+
+class test {
+ function __destruct($var) {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Destructor test::__destruct() cannot take arguments in %s on line %d
diff --git a/Zend/tests/errmsg_020.phpt b/Zend/tests/errmsg_020.phpt
new file mode 100644
index 0000000000..8199d5d06e
--- /dev/null
+++ b/Zend/tests/errmsg_020.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: disabled function
+--INI--
+disable_functions=phpinfo
+--FILE--
+<?php
+
+phpinfo();
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: phpinfo() has been disabled for security reasons in %s on line %d
+Done
diff --git a/Zend/tests/errmsg_021.phpt b/Zend/tests/errmsg_021.phpt
new file mode 100644
index 0000000000..4e62f85111
--- /dev/null
+++ b/Zend/tests/errmsg_021.phpt
@@ -0,0 +1,17 @@
+--TEST--
+errmsg: disabled class
+--INI--
+disable_classes=stdclass
+--FILE--
+<?php
+
+class test extends stdclass {
+}
+
+$t = new test;
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: test() has been disabled for security reasons in %s on line %d
+Done
diff --git a/Zend/tests/errmsg_022.phpt b/Zend/tests/errmsg_022.phpt
new file mode 100644
index 0000000000..ea7b082f9e
--- /dev/null
+++ b/Zend/tests/errmsg_022.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: only variables can be passed by reference
+--FILE--
+<?php
+
+function foo (&$var) {
+}
+
+foo(1);
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Only variables can be passed by reference in %s on line %d
diff --git a/Zend/tests/errmsg_023.phpt b/Zend/tests/errmsg_023.phpt
new file mode 100644
index 0000000000..9fd7804ea4
--- /dev/null
+++ b/Zend/tests/errmsg_023.phpt
@@ -0,0 +1,17 @@
+--TEST--
+errmsg: access level must be the same or weaker
+--FILE--
+<?php
+
+class test1 {
+ protected $var;
+}
+
+class test extends test1 {
+ private $var;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Access level to test::$var must be protected (as in class test1) or weaker in %s on line %d
diff --git a/Zend/tests/errmsg_024.phpt b/Zend/tests/errmsg_024.phpt
new file mode 100644
index 0000000000..d8d06cbce1
--- /dev/null
+++ b/Zend/tests/errmsg_024.phpt
@@ -0,0 +1,17 @@
+--TEST--
+errmsg: cannot change initial value of property
+--FILE--
+<?php
+
+class test1 {
+ static protected $var = 1;
+}
+
+class test extends test1 {
+ static $var = 10;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot change initial value of property static protected test1::$var in class test in %s on line %d
diff --git a/Zend/tests/errmsg_025.phpt b/Zend/tests/errmsg_025.phpt
new file mode 100644
index 0000000000..d853f73428
--- /dev/null
+++ b/Zend/tests/errmsg_025.phpt
@@ -0,0 +1,20 @@
+--TEST--
+errmsg: cannot inherit previously inherited constant
+--FILE--
+<?php
+
+interface test1 {
+ const FOO = 10;
+}
+
+interface test2 {
+ const FOO = 10;
+}
+
+class test implements test1, test2 {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot inherit previously-inherited constant FOO from interface test2 in %s on line %d
diff --git a/Zend/tests/errmsg_026.phpt b/Zend/tests/errmsg_026.phpt
new file mode 100644
index 0000000000..1954122900
--- /dev/null
+++ b/Zend/tests/errmsg_026.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot redeclare class
+--FILE--
+<?php
+
+class stdclass {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot redeclare class stdclass in %s on line %d
diff --git a/Zend/tests/errmsg_027.phpt b/Zend/tests/errmsg_027.phpt
new file mode 100644
index 0000000000..f4fec6155c
--- /dev/null
+++ b/Zend/tests/errmsg_027.phpt
@@ -0,0 +1,16 @@
+--TEST--
+errmsg: class declarations may not be nested
+--FILE--
+<?php
+
+class test {
+ function foo() {
+ class test2 {
+ }
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Class declarations may not be nested in %s on line %d
diff --git a/Zend/tests/errmsg_028.phpt b/Zend/tests/errmsg_028.phpt
new file mode 100644
index 0000000000..3331cb35bf
--- /dev/null
+++ b/Zend/tests/errmsg_028.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot use 'self' as class name
+--FILE--
+<?php
+
+class self {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use 'self' as class name as it is reserved in %s on line %d
diff --git a/Zend/tests/errmsg_029.phpt b/Zend/tests/errmsg_029.phpt
new file mode 100644
index 0000000000..73b85ce6a5
--- /dev/null
+++ b/Zend/tests/errmsg_029.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot use 'parent' as class name
+--FILE--
+<?php
+
+class parent {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use 'parent' as class name as it is reserved in %s on line %d
diff --git a/Zend/tests/errmsg_030.phpt b/Zend/tests/errmsg_030.phpt
new file mode 100644
index 0000000000..ab6ccbd41e
--- /dev/null
+++ b/Zend/tests/errmsg_030.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot use 'self' as parent class name
+--FILE--
+<?php
+
+class test extends self {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use 'self' as class name as it is reserved in %s on line %d
diff --git a/Zend/tests/errmsg_031.phpt b/Zend/tests/errmsg_031.phpt
new file mode 100644
index 0000000000..6e35648549
--- /dev/null
+++ b/Zend/tests/errmsg_031.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot use 'parent' as parent class name
+--FILE--
+<?php
+
+class test extends parent {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use 'parent' as class name as it is reserved in %s on line %d
diff --git a/Zend/tests/errmsg_032.phpt b/Zend/tests/errmsg_032.phpt
new file mode 100644
index 0000000000..6e34604cd8
--- /dev/null
+++ b/Zend/tests/errmsg_032.phpt
@@ -0,0 +1,15 @@
+--TEST--
+errmsg: __construct() cannot be static
+--FILE--
+<?php
+
+class test {
+
+ static function __construct() {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Constructor test::__construct() cannot be static in %s on line %d
diff --git a/Zend/tests/errmsg_033.phpt b/Zend/tests/errmsg_033.phpt
new file mode 100644
index 0000000000..96938900ec
--- /dev/null
+++ b/Zend/tests/errmsg_033.phpt
@@ -0,0 +1,15 @@
+--TEST--
+errmsg: __destruct() cannot be static
+--FILE--
+<?php
+
+class test {
+
+ static function __destruct() {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Destructor test::__destruct() cannot be static in %s on line %d
diff --git a/Zend/tests/errmsg_034.phpt b/Zend/tests/errmsg_034.phpt
new file mode 100644
index 0000000000..1494fe5321
--- /dev/null
+++ b/Zend/tests/errmsg_034.phpt
@@ -0,0 +1,15 @@
+--TEST--
+errmsg: __clone() cannot be static
+--FILE--
+<?php
+
+class test {
+
+ static function __clone() {
+ }
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Clone method test::__clone() cannot be static in %s on line %d
diff --git a/Zend/tests/errmsg_035.phpt b/Zend/tests/errmsg_035.phpt
new file mode 100644
index 0000000000..76cbe3d48b
--- /dev/null
+++ b/Zend/tests/errmsg_035.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot use 'self' as interface name
+--FILE--
+<?php
+
+class test implements self {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use 'self' as interface name as it is reserved in %s on line %d
diff --git a/Zend/tests/errmsg_036.phpt b/Zend/tests/errmsg_036.phpt
new file mode 100644
index 0000000000..d1f4274bd1
--- /dev/null
+++ b/Zend/tests/errmsg_036.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot use 'parent' as interface name
+--FILE--
+<?php
+
+class test implements parent {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot use 'parent' as interface name as it is reserved in %s on line %d
diff --git a/Zend/tests/errmsg_037.phpt b/Zend/tests/errmsg_037.phpt
new file mode 100644
index 0000000000..6b98bb3339
--- /dev/null
+++ b/Zend/tests/errmsg_037.phpt
@@ -0,0 +1,13 @@
+--TEST--
+errmsg: properties cannot be abstract
+--FILE--
+<?php
+
+class test {
+ abstract $var = 1;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Properties cannot be declared abstract in %s on line %d
diff --git a/Zend/tests/errmsg_038.phpt b/Zend/tests/errmsg_038.phpt
new file mode 100644
index 0000000000..fdab803ba8
--- /dev/null
+++ b/Zend/tests/errmsg_038.phpt
@@ -0,0 +1,13 @@
+--TEST--
+errmsg: properties cannot be final
+--FILE--
+<?php
+
+class test {
+ final $var = 1;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot declare property test::$var final, the final modifier is allowed only for methods in %s on line %d
diff --git a/Zend/tests/errmsg_039.phpt b/Zend/tests/errmsg_039.phpt
new file mode 100644
index 0000000000..0000811879
--- /dev/null
+++ b/Zend/tests/errmsg_039.phpt
@@ -0,0 +1,14 @@
+--TEST--
+errmsg: cannot redeclare property
+--FILE--
+<?php
+
+class test {
+ var $var;
+ var $var;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot redeclare test::$var in %s on line %d
diff --git a/Zend/tests/errmsg_040.phpt b/Zend/tests/errmsg_040.phpt
new file mode 100644
index 0000000000..f3d0afcf0a
--- /dev/null
+++ b/Zend/tests/errmsg_040.phpt
@@ -0,0 +1,13 @@
+--TEST--
+errmsg: arrays are not allowed in class constants
+--FILE--
+<?php
+
+class test {
+ const TEST = array(1,2,3);
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Arrays are not allowed in class constants in %s on line %d
diff --git a/Zend/tests/errmsg_041.phpt b/Zend/tests/errmsg_041.phpt
new file mode 100644
index 0000000000..bfcafd261d
--- /dev/null
+++ b/Zend/tests/errmsg_041.phpt
@@ -0,0 +1,11 @@
+--TEST--
+errmsg: instanceof expects an object instance, constant given
+--FILE--
+<?php
+
+var_dump("abc" instanceof stdclass);
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: instanceof expects an object instance, constant given in %s on line %d
diff --git a/Zend/tests/errmsg_042.phpt b/Zend/tests/errmsg_042.phpt
new file mode 100644
index 0000000000..3b4ea7c267
--- /dev/null
+++ b/Zend/tests/errmsg_042.phpt
@@ -0,0 +1,13 @@
+--TEST--
+errmsg: key element cannot be a reference
+--FILE--
+<?php
+
+$a = array(1,2,3);
+foreach ($a as &$k=>$v) {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Key element cannot be a reference in %s on line %d
diff --git a/Zend/tests/errmsg_043.phpt b/Zend/tests/errmsg_043.phpt
new file mode 100644
index 0000000000..3de8bc2062
--- /dev/null
+++ b/Zend/tests/errmsg_043.phpt
@@ -0,0 +1,12 @@
+--TEST--
+errmsg: cannot create references to temp array
+--FILE--
+<?php
+
+foreach (array(1,2,3) as $k=>&$v) {
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+Fatal error: Cannot create references to elements of a temporary array expression in %s on line %d
diff --git a/Zend/tests/globals.inc b/Zend/tests/globals.inc
new file mode 100644
index 0000000000..976237cf1f
--- /dev/null
+++ b/Zend/tests/globals.inc
@@ -0,0 +1,15 @@
+<?php
+
+var_dump(isset($_SERVER));
+var_dump(empty($_SERVER));
+var_dump(gettype($_SERVER));
+var_dump(count($_SERVER));
+
+var_dump($_SERVER['PHP_SELF']);
+unset($_SERVER['PHP_SELF']);
+var_dump($_SERVER['PHP_SELF']);
+
+unset($_SERVER);
+var_dump($_SERVER);
+
+?>
diff --git a/Zend/tests/globals_001.phpt b/Zend/tests/globals_001.phpt
new file mode 100644
index 0000000000..b678c53101
--- /dev/null
+++ b/Zend/tests/globals_001.phpt
@@ -0,0 +1,34 @@
+--TEST--
+globals in global scope
+--INIT--
+variables_order="egpcs"
+--FILE--
+<?php
+
+var_dump(isset($_SERVER));
+var_dump(empty($_SERVER));
+var_dump(gettype($_SERVER));
+var_dump(count($_SERVER));
+
+var_dump($_SERVER['PHP_SELF']);
+unset($_SERVER['PHP_SELF']);
+var_dump($_SERVER['PHP_SELF']);
+
+unset($_SERVER);
+var_dump($_SERVER);
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(true)
+bool(false)
+string(5) "array"
+int(%d)
+string(%d) "%s"
+
+Notice: Undefined index: PHP_SELF in %s on line %d
+NULL
+
+Notice: Undefined variable: _SERVER in %s on line %d
+NULL
+Done
diff --git a/Zend/tests/globals_002.phpt b/Zend/tests/globals_002.phpt
new file mode 100644
index 0000000000..3bc3dae2dd
--- /dev/null
+++ b/Zend/tests/globals_002.phpt
@@ -0,0 +1,37 @@
+--TEST--
+globals in local scope
+--INIT--
+variables_order="egpcs"
+--FILE--
+<?php
+function test() {
+ var_dump(isset($_SERVER));
+ var_dump(empty($_SERVER));
+ var_dump(gettype($_SERVER));
+ var_dump(count($_SERVER));
+
+ var_dump($_SERVER['PHP_SELF']);
+ unset($_SERVER['PHP_SELF']);
+ var_dump($_SERVER['PHP_SELF']);
+
+ unset($_SERVER);
+ var_dump($_SERVER);
+}
+
+test();
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(true)
+bool(false)
+string(5) "array"
+int(%d)
+string(%d) "%s"
+
+Notice: Undefined index: PHP_SELF in %s on line %d
+NULL
+
+Notice: Undefined variable: _SERVER in %s on line %d
+NULL
+Done
diff --git a/Zend/tests/globals_003.phpt b/Zend/tests/globals_003.phpt
new file mode 100644
index 0000000000..dcc7935a91
--- /dev/null
+++ b/Zend/tests/globals_003.phpt
@@ -0,0 +1,43 @@
+--TEST--
+globals in local scope - 2
+--INIT--
+variables_order="egpcs"
+--FILE--
+<?php
+
+class test {
+
+ static function bar() {
+
+ var_dump(isset($_SERVER));
+ var_dump(empty($_SERVER));
+ var_dump(gettype($_SERVER));
+ var_dump(count($_SERVER));
+
+ var_dump($_SERVER['PHP_SELF']);
+ unset($_SERVER['PHP_SELF']);
+ var_dump($_SERVER['PHP_SELF']);
+
+ unset($_SERVER);
+ var_dump($_SERVER);
+
+ }
+}
+
+test::bar();
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(true)
+bool(false)
+string(5) "array"
+int(%d)
+string(%d) "%s"
+
+Notice: Undefined index: PHP_SELF in %s on line %d
+NULL
+
+Notice: Undefined variable: _SERVER in %s on line %d
+NULL
+Done
diff --git a/Zend/tests/globals_004.phpt b/Zend/tests/globals_004.phpt
new file mode 100644
index 0000000000..e06791e61c
--- /dev/null
+++ b/Zend/tests/globals_004.phpt
@@ -0,0 +1,28 @@
+--TEST--
+globals in local scope - 3
+--INIT--
+variables_order="egpcs"
+--FILE--
+<?php
+
+function test() {
+ include dirname(__FILE__)."/globals.inc";
+}
+
+test();
+
+echo "Done\n";
+?>
+--EXPECTF--
+bool(true)
+bool(false)
+string(5) "array"
+int(%d)
+string(%d) "%s"
+
+Notice: Undefined index: PHP_SELF in %s on line %d
+NULL
+
+Notice: Undefined variable: _SERVER in %s on line %d
+NULL
+Done