1--TEST--
2Test ob_start() with callbacks in variables
3--FILE--
4<?php
5
6// Closure in variable
7$a = function ($s) { return strtoupper($s); };
8ob_start($a);
9echo 'closure in variable', "\n";
10ob_end_flush();
11
12// Object (array) in variable
13class foo {
14	static function out($foo) {
15		return strtoupper($foo);
16	}
17}
18$a = array('foo', 'out');
19ob_start($a);
20echo 'object in variable', "\n";
21ob_end_flush();
22
23// Object with static array
24ob_start(array('foo', 'out'));
25echo 'object via static array', "\n";
26ob_end_flush();
27
28function my_strtoupper($foo, $bar) {
29	return strtoupper($foo);
30}
31$a = 'my_strtoupper';
32ob_start($a);
33echo 'function via variable', "\n";
34ob_end_flush();
35--EXPECT--
36CLOSURE IN VARIABLE
37OBJECT IN VARIABLE
38OBJECT VIA STATIC ARRAY
39FUNCTION VIA VARIABLE
40