Annotation of embedaddon/php/tests/lang/engine_assignExecutionOrder_008.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Ensure by value assignments leave temporaries on the stack, for all sorts of assignees.
        !             3: --FILE--
        !             4: <?php
        !             5: error_reporting(E_ALL & ~E_STRICT);
        !             6: 
        !             7: function f() { return 0; }
        !             8: $a[0][1] = 'good';
        !             9: $a[1][1] = 'bad';
        !            10: 
        !            11: echo "\n" . '$i=f(): ';
        !            12: echo $a[$i=f()][++$i];
        !            13: unset($i);
        !            14: 
        !            15: echo "\n" . '$$x=f(): ';
        !            16: $x='i';
        !            17: echo $a[$$x=f()][++$$x];
        !            18: unset($i, $x);
        !            19: 
        !            20: echo "\n" . '${\'i\'}=f(): ';
        !            21: echo $a[${'i'}=f()][++${'i'}];
        !            22: unset(${'i'});
        !            23: 
        !            24: echo "\n" . '$i[0]=f(): ';
        !            25: echo $a[$i[0]=f()][++$i[0]];
        !            26: unset($i);
        !            27: 
        !            28: echo "\n" . '$i[0][0]=f(): ';
        !            29: echo $a[$i[0][0]=f()][++$i[0][0]];
        !            30: unset($i);
        !            31: 
        !            32: echo "\n" . '$i->p=f(): ';
        !            33: echo $a[$i->p=f()][++$i->p];
        !            34: unset($i);
        !            35: 
        !            36: echo "\n" . '$i->p->q=f(): ';
        !            37: echo $a[$i->p->q=f()][++$i->p->q];
        !            38: unset($i);
        !            39: 
        !            40: echo "\n" . '$i->p[0]=f(): ';
        !            41: echo $a[$i->p[0]=f()][++$i->p[0]];
        !            42: unset($i);
        !            43: 
        !            44: echo "\n" . '$i->p[0]->p=f(): ';
        !            45: echo $a[$i->p[0]->p=f()][++$i->p[0]->p];
        !            46: unset($i);
        !            47: 
        !            48: Class C {
        !            49:        static $p;
        !            50: }
        !            51: 
        !            52: echo "\n" . 'C::$p=f(): ';
        !            53: echo $a[C::$p=f()][++C::$p];
        !            54: 
        !            55: echo "\n" . 'C::$p[0]=f(): ';
        !            56: C::$p = array();
        !            57: echo $a[C::$p[0]=f()][++C::$p[0]];
        !            58: 
        !            59: echo "\n" . 'C::$p->q=f(): ';
        !            60: C::$p = new stdclass;
        !            61: echo $a[C::$p->q=f()][++C::$p->q];
        !            62: ?>
        !            63: --EXPECTF--
        !            64: $i=f(): good
        !            65: $$x=f(): good
        !            66: ${'i'}=f(): good
        !            67: $i[0]=f(): good
        !            68: $i[0][0]=f(): good
        !            69: $i->p=f(): good
        !            70: $i->p->q=f(): good
        !            71: $i->p[0]=f(): good
        !            72: $i->p[0]->p=f(): good
        !            73: C::$p=f(): good
        !            74: C::$p[0]=f(): good
        !            75: C::$p->q=f(): good

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