Annotation of embedaddon/php/ext/wddx/tests/005.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: wddx session serializer handler (deserialize)
        !             3: --SKIPIF--
        !             4: <?php
        !             5:        if (!extension_loaded("wddx")) die("skip Wddx module not loaded");
        !             6:        if (!extension_loaded('session')) die('skip Session module not enabled');
        !             7: 
        !             8:        // following test code stolen from ext/session/skipif.inc
        !             9:        $save_path = ini_get("session.save_path");
        !            10:        if ($save_path) {
        !            11:                if (!file_exists($save_path)) {
        !            12:                        die("skip Session save_path doesn't exist");
        !            13:                }
        !            14: 
        !            15:                if ($save_path && !@is_writable($save_path)) {
        !            16:                        if (($p = strpos($save_path, ';')) !== false) {
        !            17:                                $save_path = substr($save_path, ++$p);
        !            18:                        }
        !            19:                        if (!@is_writable($save_path)) {
        !            20:                                die("skip\n");
        !            21:                        }
        !            22:                }
        !            23:        }
        !            24: ?>
        !            25: --INI--
        !            26: precision=14
        !            27: session.serialize_handler=wddx
        !            28: session.use_cookies=0
        !            29: session.cache_limiter=
        !            30: session.save_handler=files
        !            31: --FILE--
        !            32: <?php
        !            33:        class foo {
        !            34:                public $bar = "ok";
        !            35: 
        !            36:                function method() { $this->yes = "done"; }
        !            37:        }
        !            38: 
        !            39:        session_start();
        !            40: 
        !            41:        session_decode("<wddxPacket version='1.0'><header/><data><struct><var name='data'><struct><var name='test1'><boolean value='true'/></var><var name='test2'><string>some string</string></var><var name='test3'><number>654321</number></var><var name='test4'><array length='3'><string>some string</string><boolean value='true'/><null/></array></var></struct></var><var name='class'><struct><var name='php_class_name'><string>foo</string></var><var name='bar'><string>ok</string></var><var name='yes'><string>done</string></var></struct></var></struct></data></wddxPacket>");
        !            42: 
        !            43:        var_dump($_SESSION);
        !            44: 
        !            45:        session_destroy();
        !            46: ?>
        !            47: --EXPECT--
        !            48: array(2) {
        !            49:   ["data"]=>
        !            50:   array(4) {
        !            51:     ["test1"]=>
        !            52:     bool(true)
        !            53:     ["test2"]=>
        !            54:     string(11) "some string"
        !            55:     ["test3"]=>
        !            56:     int(654321)
        !            57:     ["test4"]=>
        !            58:     array(3) {
        !            59:       [0]=>
        !            60:       string(11) "some string"
        !            61:       [1]=>
        !            62:       bool(true)
        !            63:       [2]=>
        !            64:       NULL
        !            65:     }
        !            66:   }
        !            67:   ["class"]=>
        !            68:   object(foo)#1 (2) {
        !            69:     ["bar"]=>
        !            70:     string(2) "ok"
        !            71:     ["yes"]=>
        !            72:     string(4) "done"
        !            73:   }
        !            74: }

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