diff options
| author | Jani Taskinen <jani@php.net> | 2010-12-03 15:30:21 +0000 |
|---|---|---|
| committer | Jani Taskinen <jani@php.net> | 2010-12-03 15:30:21 +0000 |
| commit | f561727ee0508d94b81146921469d0b4b246f6d8 (patch) | |
| tree | dcba5f691053d660520b2f8608cac9529d0ec956 | |
| parent | c8e40e49d73f637b64acee58a29934df2b466c39 (diff) | |
| download | php-git-f561727ee0508d94b81146921469d0b4b246f6d8.tar.gz | |
- Add test for the ob_start($foo); leak/crash bug
| -rw-r--r-- | tests/output/ob_start_callbacks.phpt | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/output/ob_start_callbacks.phpt b/tests/output/ob_start_callbacks.phpt new file mode 100644 index 0000000000..da52d85f7f --- /dev/null +++ b/tests/output/ob_start_callbacks.phpt @@ -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 |
