Annotation of embedaddon/php/Zend/tests/bug28442.phpt, revision 1.1.1.1

1.1       misho       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>