new test for php://input and patch for small flaw in run-tests.php

php.internals

Greg Beaver

19 years ago
Hi all, While porting improvements of run-tests.php into the pear run-tests command, I noticed that there are no tests for the php://input stream in PHP_5_2 (didn't look at HEAD yet), so I thought I would offer one if it is useful. At the same time, I found a flaw in the implementation of POST_RAW, patch attached. Basically, \n is appended to all lines including the last line. The patch corrects this by appending \n to all but the last line so there is no trailing whitespace. Here's the new test: --TEST-- php://input --SKIPIF-- <?php if (php_sapi_name()=='cli') die('skip'); ?> --POST_RAW-- Content-Type: application/x-www-form-urlencoded userid=joe&password=guessme --FILE-- <?php var_dump($_FILES); var_dump($_POST); $fp = fopen('php://input', 'r'); $a = fread($fp, 8192); fclose($fp); var_dump($a); ?> --EXPECT-- array(0) { } array(2) { ["userid"]=> string(3) "joe" ["password"]=> string(7) "guessme" } string(27) "userid=joe&password=guessme"