Annotation of embedaddon/php/ext/session/tests/004.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: session_set_save_handler test
                      3: --SKIPIF--
                      4: <?php include('skipif.inc'); ?>
                      5: --INI--
                      6: session.use_cookies=0
                      7: session.cache_limiter=
                      8: register_globals=1
                      9: session.name=PHPSESSID
                     10: session.serialize_handler=php
                     11: --FILE--
                     12: <?php
                     13: error_reporting(E_ALL);
                     14: 
                     15: class handler {
                     16:     public $data = 'baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:1;}}';
                     17:     function open($save_path, $session_name)
                     18:     {
                     19:         print "OPEN: $session_name\n";
                     20:         return true;
                     21:     }
                     22:     function close()
                     23:     {
                     24:         return true;
                     25:     }
                     26:     function read($key)
                     27:     {
                     28:         print "READ: $key\n";
                     29:         return $GLOBALS["hnd"]->data;
                     30:     }
                     31: 
                     32:     function write($key, $val)
                     33:     {
                     34:         print "WRITE: $key, $val\n";
                     35:                $GLOBALS["hnd"]->data = $val;
                     36:         return true;
                     37:     }
                     38: 
                     39:     function destroy($key)
                     40:     {
                     41:         print "DESTROY: $key\n";
                     42:         return true;
                     43:     }
                     44: 
                     45:     function gc() { return true; }
                     46: }
                     47: 
                     48: $hnd = new handler;
                     49: 
                     50: class foo {
                     51:     public $bar = "ok";
                     52:     function method() { $this->yes++; }
                     53: }
                     54: 
                     55: session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
                     56: 
                     57: session_id("abtest");
                     58: session_start();
                     59: $baz->method();
                     60: $arr[3]->method();
                     61: 
                     62: var_dump($baz);
                     63: var_dump($arr);
                     64: 
                     65: session_write_close();
                     66: 
                     67: session_set_save_handler(array($hnd, "open"), array($hnd, "close"), array($hnd, "read"), array($hnd, "write"), array($hnd, "destroy"), array($hnd, "gc"));
                     68: session_start();
                     69: 
                     70: var_dump($baz);
                     71: var_dump($arr);
                     72: 
                     73: session_destroy();
                     74: ?>
                     75: --EXPECT--
                     76: Deprecated: Directive 'register_globals' is deprecated in PHP 5.3 and greater in Unknown on line 0
                     77: OPEN: PHPSESSID
                     78: READ: abtest
                     79: object(foo)#2 (2) {
                     80:   ["bar"]=>
                     81:   string(2) "ok"
                     82:   ["yes"]=>
                     83:   int(2)
                     84: }
                     85: array(1) {
                     86:   [3]=>
                     87:   object(foo)#3 (2) {
                     88:     ["bar"]=>
                     89:     string(2) "ok"
                     90:     ["yes"]=>
                     91:     int(2)
                     92:   }
                     93: }
                     94: WRITE: abtest, baz|O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}arr|a:1:{i:3;O:3:"foo":2:{s:3:"bar";s:2:"ok";s:3:"yes";i:2;}}
                     95: OPEN: PHPSESSID
                     96: READ: abtest
                     97: object(foo)#4 (2) {
                     98:   ["bar"]=>
                     99:   string(2) "ok"
                    100:   ["yes"]=>
                    101:   int(2)
                    102: }
                    103: array(1) {
                    104:   [3]=>
                    105:   object(foo)#2 (2) {
                    106:     ["bar"]=>
                    107:     string(2) "ok"
                    108:     ["yes"]=>
                    109:     int(2)
                    110:   }
                    111: }
                    112: DESTROY: abtest

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