]> granicus.if.org Git - php/commitdiff
- Add test for the ob_start($foo); leak/crash bug
authorJani Taskinen <jani@php.net>
Fri, 3 Dec 2010 15:30:21 +0000 (15:30 +0000)
committerJani Taskinen <jani@php.net>
Fri, 3 Dec 2010 15:30:21 +0000 (15:30 +0000)
tests/output/ob_start_callbacks.phpt [new file with mode: 0644]

diff --git a/tests/output/ob_start_callbacks.phpt b/tests/output/ob_start_callbacks.phpt
new file mode 100644 (file)
index 0000000..da52d85
--- /dev/null
@@ -0,0 +1,39 @@
+--TEST--
+Test ob_start() with callbacks in variables
+--FILE--
+<?php 
+
+// Closure in variable
+$a = function ($s) { return strtoupper($s); };
+ob_start($a);
+echo 'closure in variable', "\n";
+ob_end_flush();
+
+// Object (array) in variable
+class foo {
+       static function out($foo) {
+               return strtoupper($foo);
+       }
+}
+$a = array('foo', 'out');
+ob_start($a);
+echo 'object in variable', "\n";
+ob_end_flush();
+
+// Object with static array
+ob_start(array('foo', 'out'));
+echo 'object via static array', "\n";
+ob_end_flush();
+
+function my_strtoupper($foo, $bar) {
+       return strtoupper($foo);
+}
+$a = 'my_strtoupper';
+ob_start($a);
+echo 'function via variable', "\n";
+ob_end_flush();
+--EXPECT--
+CLOSURE IN VARIABLE
+OBJECT IN VARIABLE
+OBJECT VIA STATIC ARRAY
+FUNCTION VIA VARIABLE