Improve ob_get_status() tests (#13018)

* Update basic ob_get_status() test

* Update ob test with class method, anonymous function, and invokable object as output handler

---------

Co-authored-by: haszi <haszika80@gmail.com>
This commit is contained in:
haszi 2023-12-29 16:24:06 +01:00 committed by GitHub
parent df42f7f128
commit 703ef91edb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 121 additions and 11 deletions

View file

@ -7,11 +7,31 @@ function b($s){return $s;}
function c($s){return $s;} function c($s){return $s;}
function d($s){return $s;} function d($s){return $s;}
class E {
public static function f($s) {
return $s;
}
public function g($s) {
return $s;
}
public function __invoke($s) {
return $s;
}
}
$e = new E();
ob_start(); ob_start();
ob_start('a'); ob_start('a');
ob_start('b'); ob_start('b');
ob_start('c'); ob_start('c');
ob_start('d'); ob_start('d');
ob_start(['E', 'f']);
ob_start([$e, 'g']);
ob_start($e);
ob_start(function ($s) { return $s; });
ob_start(); ob_start();
echo "foo\n"; echo "foo\n";
@ -34,16 +54,20 @@ Array
[2] => b [2] => b
[3] => c [3] => c
[4] => d [4] => d
[5] => E::f
[6] => E::g
[7] => E::__invoke
[8] => Closure::__invoke
) )
Array Array
( (
[name] => d [name] => Closure::__invoke
[type] => 1 [type] => 1
[flags] => 20593 [flags] => 20593
[level] => 4 [level] => 8
[chunk_size] => %d [chunk_size] => 0
[buffer_size] => 16384 [buffer_size] => 16384
[buffer_used] => 96 [buffer_used] => %d
) )
Array Array
( (
@ -53,7 +77,7 @@ Array
[type] => 0 [type] => 0
[flags] => 112 [flags] => 112
[level] => 0 [level] => 0
[chunk_size] => %d [chunk_size] => 0
[buffer_size] => 16384 [buffer_size] => 16384
[buffer_used] => 0 [buffer_used] => 0
) )
@ -64,7 +88,7 @@ Array
[type] => 1 [type] => 1
[flags] => 113 [flags] => 113
[level] => 1 [level] => 1
[chunk_size] => %d [chunk_size] => 0
[buffer_size] => 16384 [buffer_size] => 16384
[buffer_used] => 0 [buffer_used] => 0
) )
@ -75,7 +99,7 @@ Array
[type] => 1 [type] => 1
[flags] => 113 [flags] => 113
[level] => 2 [level] => 2
[chunk_size] => %d [chunk_size] => 0
[buffer_size] => 16384 [buffer_size] => 16384
[buffer_used] => 0 [buffer_used] => 0
) )
@ -86,18 +110,62 @@ Array
[type] => 1 [type] => 1
[flags] => 113 [flags] => 113
[level] => 3 [level] => 3
[chunk_size] => %d [chunk_size] => 0
[buffer_size] => 16384 [buffer_size] => 16384
[buffer_used] => 4 [buffer_used] => 0
) )
[4] => Array [4] => Array
( (
[name] => d [name] => d
[type] => 1 [type] => 1
[flags] => 20593 [flags] => 113
[level] => 4 [level] => 4
[chunk_size] => %d [chunk_size] => 0
[buffer_size] => 16384
[buffer_used] => 0
)
[5] => Array
(
[name] => E::f
[type] => 1
[flags] => 113
[level] => 5
[chunk_size] => 0
[buffer_size] => 16384
[buffer_used] => 0
)
[6] => Array
(
[name] => E::g
[type] => 1
[flags] => 113
[level] => 6
[chunk_size] => 0
[buffer_size] => 16384
[buffer_used] => 0
)
[7] => Array
(
[name] => E::__invoke
[type] => 1
[flags] => 113
[level] => 7
[chunk_size] => 0
[buffer_size] => 16384
[buffer_used] => %d
)
[8] => Array
(
[name] => Closure::__invoke
[type] => 1
[flags] => 20593
[level] => 8
[chunk_size] => 0
[buffer_size] => 16384 [buffer_size] => 16384
[buffer_used] => %d [buffer_used] => %d
) )

View file

@ -6,12 +6,54 @@ sebs@php.net
Testfest 2009 Munich Testfest 2009 Munich
--FILE-- --FILE--
<?php <?php
ob_start();
$status = ob_get_status();
ob_end_clean();
var_dump($status);
ob_start();
$status = ob_get_status(false);
ob_end_clean();
var_dump($status);
ob_start(); ob_start();
$status = ob_get_status(true); $status = ob_get_status(true);
ob_end_clean(); ob_end_clean();
var_dump($status); var_dump($status);
?> ?>
--EXPECT-- --EXPECT--
array(7) {
["name"]=>
string(22) "default output handler"
["type"]=>
int(0)
["flags"]=>
int(112)
["level"]=>
int(0)
["chunk_size"]=>
int(0)
["buffer_size"]=>
int(16384)
["buffer_used"]=>
int(0)
}
array(7) {
["name"]=>
string(22) "default output handler"
["type"]=>
int(0)
["flags"]=>
int(112)
["level"]=>
int(0)
["chunk_size"]=>
int(0)
["buffer_size"]=>
int(16384)
["buffer_used"]=>
int(0)
}
array(1) { array(1) {
[0]=> [0]=>
array(7) { array(7) {