]> granicus.if.org Git - php/commitdiff
tests
authorStanislav Malyshev <stas@php.net>
Wed, 18 May 2005 14:56:34 +0000 (14:56 +0000)
committerStanislav Malyshev <stas@php.net>
Wed, 18 May 2005 14:56:34 +0000 (14:56 +0000)
Zend/tests/bug29689.phpt [new file with mode: 0644]
Zend/tests/bug30451.phpt [new file with mode: 0644]

diff --git a/Zend/tests/bug29689.phpt b/Zend/tests/bug29689.phpt
new file mode 100644 (file)
index 0000000..003499f
--- /dev/null
@@ -0,0 +1,57 @@
+--TEST--
+Bug #29689 (default value of protected member overrides default value of private)
+--FILE--
+<?php
+class foo {
+    private $foo = 'foo';
+
+    function printFoo()
+    {
+        echo __CLASS__, ': ', $this->foo, "\n";
+    }
+}
+
+class bar extends foo {
+    protected $foo = 'bar';
+
+    function printFoo()
+    {
+        parent::printFoo();
+        echo __CLASS__, ': ', $this->foo, "\n";
+    }
+}
+
+class baz extends bar {
+    protected $foo = 'baz';
+}
+
+class bar2 extends foo {
+    function printFoo()
+    {
+        parent::printFoo();
+        echo __CLASS__, ': ', $this->foo, "\n";
+    }
+}
+
+class baz2 extends bar2 {
+    protected $foo = 'baz2';
+}
+
+$bar = new bar;
+$bar->printFoo();
+echo "---\n";
+$baz = new baz();
+$baz->printFoo();
+echo "---\n";
+$baz = new baz2();
+$baz->printFoo();
+?>
+--EXPECT--
+foo: foo
+bar: bar
+---
+foo: foo
+bar: baz
+---
+foo: foo
+bar2: baz2
diff --git a/Zend/tests/bug30451.phpt b/Zend/tests/bug30451.phpt
new file mode 100644 (file)
index 0000000..210f087
--- /dev/null
@@ -0,0 +1,36 @@
+--TEST--
+Bug #30451 (static properties permissions broken)
+--FILE--
+<?php
+
+class A {
+
+       protected static $property = TRUE;
+       
+       protected static function method() {
+               return TRUE;
+       }
+
+}
+
+class B extends A {
+
+       public function __construct() {
+               
+               var_dump(self::method());
+               var_dump(parent::method());
+               
+               var_dump(self::$property);
+               var_dump(parent::$property);
+       
+       }
+       
+}
+
+new B;
+?>
+--EXPECT--
+bool(true)
+bool(true)
+bool(true)
+bool(true)