Annotation of embedaddon/php/tests/output/ob_start_basic_006.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: ob_start(): multiple buffer initialization with a single call, using arrays.
        !             3: --FILE--
        !             4: <?php
        !             5: /* 
        !             6:  * proto bool ob_start([ string|array user_function [, int chunk_size [, bool erase]]])
        !             7:  * Function is implemented in main/output.c
        !             8: */ 
        !             9: 
        !            10: function f($string) {
        !            11:        static $i=0;
        !            12:        $i++;
        !            13:        $len = strlen($string);
        !            14:        return "f[call:$i; len:$len] - $string\n";
        !            15: }
        !            16: 
        !            17: Class C {
        !            18:        public $id = 'none';
        !            19: 
        !            20:        function __construct($id) {
        !            21:                $this->id = $id;
        !            22:        }
        !            23: 
        !            24:        static function g($string) {
        !            25:                static $i=0;
        !            26:                $i++;
        !            27:                $len = strlen($string);
        !            28:                return "C::g[call:$i; len:$len] - $string\n";
        !            29:        }
        !            30:        
        !            31:        function h($string) {
        !            32:                static $i=0;
        !            33:                $i++;
        !            34:                $len = strlen($string);
        !            35:                return "C::h[call:$i; len:$len; id:$this->id] - $string\n";
        !            36:        }
        !            37: }
        !            38: 
        !            39: function checkAndClean() {
        !            40:   print_r(ob_list_handlers());
        !            41:   while (ob_get_level()>0) {
        !            42:     ob_end_flush();
        !            43:   }
        !            44: }
        !            45: 
        !            46: echo "\n ---> Test arrays: \n";
        !            47: var_dump(ob_start(array("f")));
        !            48: checkAndClean();
        !            49: 
        !            50: var_dump(ob_start(array("f", "f")));
        !            51: checkAndClean();
        !            52: 
        !            53: var_dump(ob_start(array("f", "C::g", "f", "C::g")));
        !            54: checkAndClean();
        !            55: 
        !            56: var_dump(ob_start(array("f", "non_existent", "f")));
        !            57: checkAndClean();
        !            58: 
        !            59: var_dump(ob_start(array("f", "non_existent", "f", "f")));
        !            60: checkAndClean();
        !            61: 
        !            62: $c = new c('originalID');
        !            63: var_dump(ob_start(array($c, "h")));
        !            64: checkAndClean();
        !            65: 
        !            66: var_dump(ob_start(array($c, "h")));
        !            67: $c->id = 'changedID';
        !            68: checkAndClean();
        !            69: 
        !            70: $c->id = 'changedIDagain';
        !            71: var_dump(ob_start(array('f', 'C::g', array(array($c, "g"), array($c, "h")))));
        !            72: checkAndClean();
        !            73: ?>
        !            74: --EXPECTF--
        !            75: 
        !            76:  ---> Test arrays: 
        !            77: f[call:1; len:34] - bool(true)
        !            78: Array
        !            79: (
        !            80:     [0] => f
        !            81: )
        !            82: 
        !            83: f[call:3; len:68] - f[call:2; len:47] - bool(true)
        !            84: Array
        !            85: (
        !            86:     [0] => f
        !            87:     [1] => f
        !            88: )
        !            89: 
        !            90: 
        !            91: f[call:5; len:150] - C::g[call:2; len:125] - f[call:4; len:103] - C::g[call:1; len:79] - bool(true)
        !            92: Array
        !            93: (
        !            94:     [0] => f
        !            95:     [1] => C::g
        !            96:     [2] => f
        !            97:     [3] => C::g
        !            98: )
        !            99: 
        !           100: 
        !           101: 
        !           102: 
        !           103: f[call:6; len:35] - bool(false)
        !           104: Array
        !           105: (
        !           106:     [0] => f
        !           107: )
        !           108: 
        !           109: f[call:7; len:35] - bool(false)
        !           110: Array
        !           111: (
        !           112:     [0] => f
        !           113: )
        !           114: 
        !           115: C::h[call:1; len:37; id:originalID] - bool(true)
        !           116: Array
        !           117: (
        !           118:     [0] => C::h
        !           119: )
        !           120: 
        !           121: C::h[call:2; len:37; id:changedID] - bool(true)
        !           122: Array
        !           123: (
        !           124:     [0] => C::h
        !           125: )
        !           126: 
        !           127: f[call:8; len:175] - C::g[call:4; len:150] - C::g[call:3; len:125] - C::h[call:3; len:82; id:changedIDagain] - bool(true)
        !           128: Array
        !           129: (
        !           130:     [0] => f
        !           131:     [1] => C::g
        !           132:     [2] => C::g
        !           133:     [3] => C::h
        !           134: )

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