File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / tests / output / ob_start_basic_unerasable_002.phpt
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 4 months ago) by misho
Branches: php, MAIN
CVS tags: v5_3_10, HEAD
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 callback in %s on line 11
bool(false)

Notice: ob_end_clean(): failed to delete buffer callback in %s on line 12
bool(false)

Notice: ob_end_flush(): failed to delete buffer callback in %s on line 13
bool(false)
The OB nesting will still be 1 level deep:
int(1)

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