1: --TEST--
2: ob_start(): Ensure unerasable buffer cannot be erased by ob_clean(), ob_end_clean() or ob_end_flush().
3: --FILE--
4: <?php
5: function callback($string) {
6: static $callback_invocations;
7: $callback_invocations++;
8: return "[callback:$callback_invocations]$string\n";
9: }
10:
11: ob_start('callback', 0, false);
12:
13: echo "All of the following calls will fail to clean/remove the topmost buffer:\n";
14: var_dump(ob_clean());
15: var_dump(ob_end_clean());
16: var_dump(ob_end_flush());
17:
18: echo "The OB nesting will still be 1 level deep:\n";
19: var_dump(ob_get_level());
20: ?>
21: --EXPECTF--
22: [callback:1]All of the following calls will fail to clean/remove the topmost buffer:
23:
24: Notice: ob_clean(): failed to delete buffer callback in %s on line 11
25: bool(false)
26:
27: Notice: ob_end_clean(): failed to delete buffer callback in %s on line 12
28: bool(false)
29:
30: Notice: ob_end_flush(): failed to delete buffer callback in %s on line 13
31: bool(false)
32: The OB nesting will still be 1 level deep:
33: int(1)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>