diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 19:39:21 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 19:39:21 -0400 |
| commit | 6821b67124604da690c5e9276d5370d679c63ac8 (patch) | |
| tree | befb4ca2520eb577950cef6cb76d10b914cbf67a /tests/func | |
| parent | cd0b49c72aee33b3e44a9c589fcd93b9e1c7a64f (diff) | |
| download | php-6821b67124604da690c5e9276d5370d679c63ac8.tar.gz | |
Imported Upstream version 5.3.0RC1upstream/5.3.0_RC1upstream/5.3.0RC1
Diffstat (limited to 'tests/func')
| -rw-r--r-- | tests/func/010.phpt | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/tests/func/010.phpt b/tests/func/010.phpt new file mode 100644 index 000000000..6778ed2f1 --- /dev/null +++ b/tests/func/010.phpt @@ -0,0 +1,73 @@ +--TEST-- +function with many parameters +--FILE-- +<?php + +// the stack size + some random constant +$boundary = 64*1024; +$limit = $boundary+42; + + +function test($a,$b) +{ + var_dump($a === $b); + test2($a,$b); +} + +function test2($a, $b) +{ + if ($a !== $b) { + var_dump("something went wrong: $a !== $b"); + } +} + + +// generate the function +$str = "<?php\nfunction x("; + +for($i=0; $i < $limit; ++$i) { + $str .= '$v'.dechex($i).($i===($limit-1) ? '' : ','); +} + +$str .= ') { + test($v42, \'42\'); + test(\'4000\', $v4000); + test2($v300, \'300\'); + test($v0, \'0\'); // first + test($v'.dechex($limit-1).", '".dechex($limit-1).'\'); // last + test($v'.dechex($boundary).", '".dechex($boundary).'\'); //boundary + test($v'.dechex($boundary+1).", '".dechex($boundary+1).'\'); //boundary+1 + test($v'.dechex($boundary-1).", '".dechex($boundary-1).'\'); //boundary-1 +}'; + +// generate the function call +$str .= "\n\nx("; + +for($i=0; $i< $limit; ++$i) { + $str .= "'".dechex($i)."'".($i===($limit-1) ? '' : ','); +} + +$str .= ");\n"; + +$filename = dirname(__FILE__).'/010-file.php'; +file_put_contents(dirname(__FILE__).'/010-file.php', $str); +unset($str); + +include($filename); + +echo "Done\n"; + +?> +--CLEAN-- +<?php +@unlink(dirname(__FILE__).'/010-file.php'); +?> +--EXPECT-- +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +bool(true) +Done |
