summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xZend/tests/selfParent_001.phpt27
-rwxr-xr-xZend/tests/selfParent_002.phpt27
2 files changed, 54 insertions, 0 deletions
diff --git a/Zend/tests/selfParent_001.phpt b/Zend/tests/selfParent_001.phpt
new file mode 100755
index 0000000000..9d8cd6e22f
--- /dev/null
+++ b/Zend/tests/selfParent_001.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test when constants are initialised. See also selfParent_002.phpt.
+--FILE--
+<?php
+class A {
+ const myConst = "const in A";
+ const myDynConst = self::myConst;
+
+ public static function test() {
+ var_dump(self::myDynConst);
+ }
+}
+
+class B extends A {
+ const myConst = "const in B";
+
+ public static function test() {
+ var_dump(parent::myDynConst);
+ }
+}
+
+A::test();
+B::test();
+?>
+--EXPECT--
+string(10) "const in A"
+string(10) "const in A"
diff --git a/Zend/tests/selfParent_002.phpt b/Zend/tests/selfParent_002.phpt
new file mode 100755
index 0000000000..18a8f09ea9
--- /dev/null
+++ b/Zend/tests/selfParent_002.phpt
@@ -0,0 +1,27 @@
+--TEST--
+Test when constants are initialised. See also selfParent_001.phpt.
+--FILE--
+<?php
+class A {
+ const myConst = "const in A";
+ const myDynConst = self::myConst;
+
+ public static function test() {
+ var_dump(self::myDynConst);
+ }
+}
+
+class B extends A {
+ const myConst = "const in B";
+
+ public static function test() {
+ var_dump(parent::myDynConst);
+ }
+}
+
+B::test();
+A::test();
+?>
+--EXPECT--
+string(10) "const in A"
+string(10) "const in A"