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

View file

@ -6,12 +6,54 @@ sebs@php.net
Testfest 2009 Munich
--FILE--
<?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();
$status = ob_get_status(true);
ob_end_clean();
var_dump($status);
?>
--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) {
[0]=>
array(7) {