Annotation of embedaddon/php/ext/session/tests/026.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: correct instantiation of references between variables in sessions
        !             3: --SKIPIF--
        !             4: <?php include('skipif.inc'); ?>
        !             5: --INI--
        !             6: session.use_cookies=0
        !             7: session.cache_limiter=
        !             8: session.serialize_handler=php
        !             9: session.save_handler=files
        !            10: --FILE--
        !            11: <?php
        !            12: error_reporting(E_ALL);
        !            13: 
        !            14: session_id("abtest");
        !            15: session_start();
        !            16: 
        !            17: class a {
        !            18:     public $test = "hallo";
        !            19: }
        !            20:  
        !            21: class b {
        !            22:     public $a;
        !            23:     function b(&$a) {
        !            24:         $this->a = &$a;
        !            25:     }
        !            26: }
        !            27:  
        !            28: $a = new a();
        !            29: $b = new b($a);
        !            30: 
        !            31: echo "original values:\n";
        !            32: var_dump($a,$b);
        !            33: 
        !            34: $_SESSION['a'] = $a;
        !            35: $_SESSION['b'] = $b;
        !            36: 
        !            37: session_write_close();
        !            38: unset($_SESSION['a']);
        !            39: unset($_SESSION['b']);
        !            40: 
        !            41: session_start();
        !            42: $a = $_SESSION['a'];
        !            43: $b = $_SESSION['b'];
        !            44: echo "values after session:\n";
        !            45: var_dump($a,$b);
        !            46: ?>
        !            47: --EXPECTF--
        !            48: original values:
        !            49: object(a)#%d (1) {
        !            50:   ["test"]=>
        !            51:   string(5) "hallo"
        !            52: }
        !            53: object(b)#%d (1) {
        !            54:   ["a"]=>
        !            55:   &object(a)#%d (1) {
        !            56:     ["test"]=>
        !            57:     string(5) "hallo"
        !            58:   }
        !            59: }
        !            60: values after session:
        !            61: object(a)#%d (1) {
        !            62:   ["test"]=>
        !            63:   string(5) "hallo"
        !            64: }
        !            65: object(b)#%d (1) {
        !            66:   ["a"]=>
        !            67:   &object(a)#%d (1) {
        !            68:     ["test"]=>
        !            69:     string(5) "hallo"
        !            70:   }
        !            71: }

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