summaryrefslogtreecommitdiff
path: root/tests/output/ob_start_basic_unerasable_002.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/output/ob_start_basic_unerasable_002.phpt')
-rw-r--r--tests/output/ob_start_basic_unerasable_002.phpt33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/output/ob_start_basic_unerasable_002.phpt b/tests/output/ob_start_basic_unerasable_002.phpt
new file mode 100644
index 0000000..21db1f3
--- /dev/null
+++ b/tests/output/ob_start_basic_unerasable_002.phpt
@@ -0,0 +1,33 @@
+--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) \ No newline at end of file