Annotation of embedaddon/php/Zend/tests/bug31683.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Bug #31683 (changes to $name in __get($name) override future parameters)
        !             3: --FILE--
        !             4: <?php
        !             5: 
        !             6: class Foo implements ArrayAccess {
        !             7: 
        !             8:   function __get($test) {
        !             9:     var_dump($test);         
        !            10:     $test = 'bug';
        !            11:   }
        !            12: 
        !            13:   function __set($test, $val) {
        !            14:     var_dump($test);         
        !            15:     var_dump($val);
        !            16:     $test = 'bug';
        !            17:     $val = 'bug';
        !            18:   }
        !            19: 
        !            20:   function __call($test, $arg) {
        !            21:     var_dump($test);         
        !            22:     $test = 'bug';
        !            23:   }
        !            24: 
        !            25:   function offsetget($test) {
        !            26:     var_dump($test);         
        !            27:     $test = 'bug';
        !            28:     return 123;
        !            29:   }
        !            30: 
        !            31:   function offsetset($test, $val) {
        !            32:     var_dump($test);         
        !            33:     var_dump($val);         
        !            34:     $test = 'bug';
        !            35:     $val  = 'bug';
        !            36:   }
        !            37: 
        !            38:   function offsetexists($test) {
        !            39:     var_dump($test);         
        !            40:     $test = 'bug';
        !            41:   }
        !            42: 
        !            43:   function offsetunset($test) {
        !            44:     var_dump($test);         
        !            45:     $test = 'bug';
        !            46:   }
        !            47: 
        !            48: }
        !            49: 
        !            50: $foo = new Foo();
        !            51: $a = "ok";
        !            52: 
        !            53: for ($i=0; $i < 2; $i++) {
        !            54:   $foo->ok("ok");
        !            55:   $foo->ok;
        !            56:   $foo->ok = "ok";
        !            57:   $x = $foo["ok"];
        !            58:   $foo["ok"] = "ok";
        !            59:   isset($foo["ok"]);
        !            60:   unset($foo["ok"]);
        !            61: //  $foo[];
        !            62:   $foo[] = "ok";
        !            63: //  isset($foo[]);
        !            64: //  unset($foo[]);
        !            65:   $foo->$a;
        !            66:   echo "---\n";
        !            67: }
        !            68: ?>
        !            69: --EXPECT--
        !            70: string(2) "ok"
        !            71: string(2) "ok"
        !            72: string(2) "ok"
        !            73: string(2) "ok"
        !            74: string(2) "ok"
        !            75: string(2) "ok"
        !            76: string(2) "ok"
        !            77: string(2) "ok"
        !            78: string(2) "ok"
        !            79: NULL
        !            80: string(2) "ok"
        !            81: string(2) "ok"
        !            82: ---
        !            83: string(2) "ok"
        !            84: string(2) "ok"
        !            85: string(2) "ok"
        !            86: string(2) "ok"
        !            87: string(2) "ok"
        !            88: string(2) "ok"
        !            89: string(2) "ok"
        !            90: string(2) "ok"
        !            91: string(2) "ok"
        !            92: NULL
        !            93: string(2) "ok"
        !            94: string(2) "ok"
        !            95: ---

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