File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / Zend / tests / bug28442.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 #28442 (Changing a static variables in a class changes it across sub/super classes.)
    3: --FILE--
    4: <?php
    5: 
    6: class ClassA
    7: {
    8:    static $prop;
    9: }
   10: 
   11: class ClassB extends ClassA
   12: {
   13:    static $prop;
   14: }
   15: 
   16: class ClassC extends ClassB
   17: {
   18: }
   19: 
   20: echo "===INIT===\n";
   21: ClassA::$prop = 'A';
   22: ClassB::$prop = 'B';
   23: ClassC::$prop = 'C';
   24: var_dump(ClassA::$prop);
   25: var_dump(ClassB::$prop);
   26: var_dump(ClassC::$prop);
   27: 
   28: echo "===SetA===\n";
   29: ClassA::$prop = 'A2';
   30: var_dump(ClassA::$prop);
   31: var_dump(ClassB::$prop);
   32: var_dump(ClassC::$prop);
   33: 
   34: echo "===SetB===\n";
   35: ClassB::$prop = 'B2';
   36: var_dump(ClassA::$prop);
   37: var_dump(ClassB::$prop);
   38: var_dump(ClassC::$prop);
   39: 
   40: echo "===SetC===\n";
   41: ClassC::$prop = 'C2';
   42: var_dump(ClassA::$prop);
   43: var_dump(ClassB::$prop);
   44: var_dump(ClassC::$prop);
   45: 
   46: ?>
   47: ===DONE===
   48: --EXPECTF--
   49: ===INIT===
   50: string(1) "A"
   51: string(1) "C"
   52: string(1) "C"
   53: ===SetA===
   54: string(2) "A2"
   55: string(1) "C"
   56: string(1) "C"
   57: ===SetB===
   58: string(2) "A2"
   59: string(2) "B2"
   60: string(2) "B2"
   61: ===SetC===
   62: string(2) "A2"
   63: string(2) "C2"
   64: string(2) "C2"
   65: ===DONE===

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