File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests / bug29689.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:47:52 2012 UTC (13 years, 1 month ago) by misho
Branches: php, MAIN
CVS tags: v5_4_3elwix, v5_4_29p0, v5_4_29, v5_4_20p0, v5_4_20, v5_4_17p0, v5_4_17, v5_3_10, HEAD
php

    1: --TEST--
    2: Bug #29689 (default value of protected member overrides default value of private)
    3: --FILE--
    4: <?php
    5: class foo {
    6:     private $foo = 'foo';
    7:     private $foo2 = 'foo2';
    8: 
    9:     function printFoo()
   10:     {
   11:         echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
   12:     }
   13: }
   14: 
   15: class bar extends foo {
   16:     protected $foo = 'bar';
   17: 
   18:     function printFoo()
   19:     {
   20:         parent::printFoo();
   21:         echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
   22:     }
   23: }
   24: 
   25: class baz extends bar {
   26:     protected $foo = 'baz';
   27:     protected $foo2 = 'baz2';
   28: }
   29: 
   30: class bar2 extends foo {
   31:     function printFoo()
   32:     {
   33:         parent::printFoo();
   34:         echo __CLASS__, ': ', $this->foo, " ", $this->foo2, "\n";
   35:     }
   36: }
   37: 
   38: class baz2 extends bar2 {
   39:     protected $foo = 'baz2';
   40:     protected $foo2 = 'baz22';
   41: }
   42: 
   43: $bar = new bar;
   44: $bar->printFoo();
   45: echo "---baz--\n";
   46: $baz = new baz();
   47: $baz->printFoo();
   48: echo "---baz2--\n";
   49: $baz = new baz2();
   50: $baz->printFoo();
   51: ?>
   52: --EXPECTF--
   53: foo: foo foo2
   54: bar: bar 
   55: Notice: Undefined property: bar::$foo2 in %s on line %d
   56: 
   57: ---baz--
   58: foo: foo foo2
   59: bar: baz baz2
   60: ---baz2--
   61: foo: foo foo2
   62: bar2: baz2 baz22

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>