php-src/tests/output/ob_start_basic_unerasable_002.phpt
Michael Wallner 11d24c1593 * implement new output API, fixing some bugs and implementing some feature
requests--let's see what I can dig out of the bugtracker for NEWS--
  and while crossing the road:
   * implemented new zlib API
   * fixed up ext/tidy (what was "s&" in zend_parse_parameters() supposed to do?)

Thanks to Jani and Felipe for pioneering.
2010-05-31 10:29:43 +00:00

33 lines
965 B
PHP

--TEST--
ob_start(): Ensure unerasable buffer cannot be erased by ob_clean(), ob_end_clean() or ob_end_flush().
--FILE--
<?php
function callback($string) {
static $callback_invocations;
$callback_invocations++;
return "[callback:$callback_invocations]$string\n";
}
ob_start('callback', 0, false);
echo "All of the following calls will fail to clean/remove the topmost buffer:\n";
var_dump(ob_clean());
var_dump(ob_end_clean());
var_dump(ob_end_flush());
echo "The OB nesting will still be 1 level deep:\n";
var_dump(ob_get_level());
?>
--EXPECTF--
[callback:1]All of the following calls will fail to clean/remove the topmost buffer:
Notice: ob_clean(): failed to delete buffer of callback (0) in %s on line 11
bool(false)
Notice: ob_end_clean(): failed to discard buffer of callback (0) in %s on line 12
bool(false)
Notice: ob_end_flush(): failed to send buffer of callback (0) in %s on line 13
bool(false)
The OB nesting will still be 1 level deep:
int(1)