diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2013-03-14 05:42:27 +0000 |
---|---|---|
committer | <> | 2013-04-03 16:25:08 +0000 |
commit | c4dd7a1a684490673e25aaf4fabec5df138854c4 (patch) | |
tree | 4d57c44caae4480efff02b90b9be86f44bf25409 /Zend/tests/debug_backtrace_options.phpt | |
download | php2-master.tar.gz |
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'Zend/tests/debug_backtrace_options.phpt')
-rw-r--r-- | Zend/tests/debug_backtrace_options.phpt | 397 |
1 files changed, 397 insertions, 0 deletions
diff --git a/Zend/tests/debug_backtrace_options.phpt b/Zend/tests/debug_backtrace_options.phpt new file mode 100644 index 0000000..1b2d7e5 --- /dev/null +++ b/Zend/tests/debug_backtrace_options.phpt @@ -0,0 +1,397 @@ +--TEST-- +debug_backtrace options +--FILE-- +<?php + +function backtrace_print($opt = null) +{ + if(is_null($opt)) { + print_r(debug_backtrace()); + } else { + print_r(debug_backtrace($opt)); + } +} + +function doit($a, $b, $how) +{ + echo "==default\n"; + $how(); + echo "==true\n"; + $how(true); + echo "==false\n"; + $how(false); + echo "==DEBUG_BACKTRACE_PROVIDE_OBJECT\n"; + $how(DEBUG_BACKTRACE_PROVIDE_OBJECT); + echo "==DEBUG_BACKTRACE_IGNORE_ARGS\n"; + $how(DEBUG_BACKTRACE_IGNORE_ARGS); + echo "==both\n"; + $how(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS); +} + +class foo { + protected function doCall($dowhat, $how) + { + $dowhat('a','b', $how); + } + static function statCall($dowhat, $how) + { + $obj = new self(); + $obj->doCall($dowhat, $how); + } +} +foo::statCall("doit", "debug_print_backtrace"); +foo::statCall("doit", "backtrace_print"); + +?> +--EXPECTF-- +==default +#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +==true +#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +==false +#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +==DEBUG_BACKTRACE_PROVIDE_OBJECT +#0 doit(a, b, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#1 foo->doCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +#2 foo::statCall(doit, debug_print_backtrace) called at [%sdebug_backtrace_options.php:%d] +==DEBUG_BACKTRACE_IGNORE_ARGS +#0 doit() called at [%sdebug_backtrace_options.php:%d] +#1 foo->doCall() called at [%sdebug_backtrace_options.php:%d] +#2 foo::statCall() called at [%sdebug_backtrace_options.php:%d] +==both +#0 doit() called at [%sdebug_backtrace_options.php:%d] +#1 foo->doCall() called at [%sdebug_backtrace_options.php:%d] +#2 foo::statCall() called at [%sdebug_backtrace_options.php:%d] +==default +Array +( + [0] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => backtrace_print + [args] => Array + ( + ) + + ) + + [1] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doit + [args] => Array + ( + [0] => a + [1] => b + [2] => backtrace_print + ) + + ) + + [2] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doCall + [class] => foo + [object] => foo Object + ( + ) + + [type] => -> + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + + [3] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => statCall + [class] => foo + [type] => :: + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + +) +==true +Array +( + [0] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => 17 + [function] => backtrace_print + [args] => Array + ( + [0] => 1 + ) + + ) + + [1] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doit + [args] => Array + ( + [0] => a + [1] => b + [2] => backtrace_print + ) + + ) + + [2] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doCall + [class] => foo + [object] => foo Object + ( + ) + + [type] => -> + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + + [3] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => statCall + [class] => foo + [type] => :: + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + +) +==false +Array +( + [0] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => 19 + [function] => backtrace_print + [args] => Array + ( + [0] => + ) + + ) + + [1] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doit + [args] => Array + ( + [0] => a + [1] => b + [2] => backtrace_print + ) + + ) + + [2] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doCall + [class] => foo + [type] => -> + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + + [3] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => statCall + [class] => foo + [type] => :: + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + +) +==DEBUG_BACKTRACE_PROVIDE_OBJECT +Array +( + [0] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => 21 + [function] => backtrace_print + [args] => Array + ( + [0] => 1 + ) + + ) + + [1] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doit + [args] => Array + ( + [0] => a + [1] => b + [2] => backtrace_print + ) + + ) + + [2] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doCall + [class] => foo + [object] => foo Object + ( + ) + + [type] => -> + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + + [3] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => statCall + [class] => foo + [type] => :: + [args] => Array + ( + [0] => doit + [1] => backtrace_print + ) + + ) + +) +==DEBUG_BACKTRACE_IGNORE_ARGS +Array +( + [0] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => 23 + [function] => backtrace_print + ) + + [1] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doit + ) + + [2] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doCall + [class] => foo + [type] => -> + ) + + [3] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => statCall + [class] => foo + [type] => :: + ) + +) +==both +Array +( + [0] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => 25 + [function] => backtrace_print + ) + + [1] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doit + ) + + [2] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => doCall + [class] => foo + [object] => foo Object + ( + ) + + [type] => -> + ) + + [3] => Array + ( + [file] => %sdebug_backtrace_options.php + [line] => %d + [function] => statCall + [class] => foo + [type] => :: + ) + +) |