File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / session / tests / session_set_save_handler_class_012.phpt
Revision 1.1.1.2 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 20:03:55 2014 UTC (10 years ago) by misho
Branches: php, MAIN
CVS tags: v5_4_29, HEAD
php 5.4.29

    1: --TEST--
    2: Test session_set_save_handler() : incorrect arguments for existing handler open
    3: --INI--
    4: session.save_handler=files
    5: session.name=PHPSESSID
    6: session.gc_probability=0
    7: --SKIPIF--
    8: <?php include('skipif.inc'); ?>
    9: --FILE--
   10: <?php
   11: 
   12: ob_start();
   13: 
   14: /* 
   15:  * Prototype : bool session_set_save_handler(SessionHandler $handler [, bool $register_shutdown_function = true])
   16:  * Description : Sets user-level session storage functions
   17:  * Source code : ext/session/session.c 
   18:  */
   19: 
   20: echo "*** Testing session_set_save_handler() : incorrect arguments for existing handler open ***\n";
   21: 
   22: class MySession extends SessionHandler {
   23: 	public $i = 0;
   24: 	public function open($path, $name) {
   25: 		++$this->i;
   26: 		echo 'Open ', session_id(), "\n";
   27: 		return parent::open();
   28: 	}
   29: 	public function read($key) {
   30: 		++$this->i;
   31: 		echo 'Read ', session_id(), "\n";
   32: 		return parent::read($key);
   33: 	}
   34: }
   35: 
   36: $oldHandler = ini_get('session.save_handler');
   37: $handler = new MySession;
   38: session_set_save_handler($handler);
   39: session_start();
   40: 
   41: var_dump(session_id(), $oldHandler, ini_get('session.save_handler'), $handler->i, $_SESSION);
   42: 
   43: --EXPECTF--
   44: *** Testing session_set_save_handler() : incorrect arguments for existing handler open ***
   45: Open 
   46: 
   47: Warning: SessionHandler::open() expects exactly 2 parameters, 0 given in %s on line %d
   48: Read %s
   49: 
   50: Warning: SessionHandler::read(): Parent session handler is not open in %s on line %d
   51: string(%d) "%s"
   52: string(5) "files"
   53: string(4) "user"
   54: int(2)
   55: array(0) {
   56: }
   57: 
   58: Warning: Unknown: Parent session handler is not open in Unknown on line 0
   59: 
   60: Warning: Unknown: Parent session handler is not open in Unknown on line 0

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