]> granicus.if.org Git - php/commitdiff
change test, and added a test for post file
authorXinchen Hui <laruence@php.net>
Wed, 21 Sep 2011 07:51:31 +0000 (07:51 +0000)
committerXinchen Hui <laruence@php.net>
Wed, 21 Sep 2011 07:51:31 +0000 (07:51 +0000)
sapi/cli/tests/php_cli_server_004.phpt
sapi/cli/tests/php_cli_server_005.phpt [new file with mode: 0644]

index 513840d9e027c99f4fbab8c38cdfdf2605743791..804e0bfbdab944c3380f9c807bfb869f31cbb0a4 100644 (file)
@@ -27,6 +27,7 @@ GET / HTTP/1.1
 Host:{$host}
 User-Agent:dummy
 Custom:foo
+Referer:http://www.php.net/
 
 
 HEADER
@@ -41,9 +42,10 @@ HEADER
 HTTP/1.1 200 OK
 Host: %s
 Connection: closed
-X-Powered-By: PHP/5.5.0-dev
+X-Powered-By: PHP/%s-dev
 Content-type: text/html
 
 string(19) "HTTP_HOST:localhost"
 string(21) "HTTP_USER_AGENT:dummy"
 string(15) "HTTP_CUSTOM:foo"
+string(32) "HTTP_REFERER:http://www.php.net/"
diff --git a/sapi/cli/tests/php_cli_server_005.phpt b/sapi/cli/tests/php_cli_server_005.phpt
new file mode 100644 (file)
index 0000000..b94b5b8
--- /dev/null
@@ -0,0 +1,74 @@
+--TEST--
+Post a file
+--SKIPIF--
+<?php
+include "skipif.inc"; 
+if (substr(PHP_OS, 0, 3) == 'WIN') {
+    die ("skip not for Windows");
+}
+?>
+--FILE--
+<?php
+include "php_cli_server.inc";
+php_cli_server_start('var_dump($_FILES);');
+
+list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
+$port = intval($port)?:80;
+
+$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
+if (!$fp) {
+  die("connect failed");
+}
+
+$post_data = <<<POST
+-----------------------------114782935826962
+Content-Disposition: form-data; name="userfile"; filename="laruence.txt"
+Content-Type: text/plain
+
+I am not sure about this.
+
+-----------------------------114782935826962--
+
+
+POST;
+
+$post_len = strlen($post_data);
+
+if(fwrite($fp, <<<HEADER
+POST / HTTP/1.1
+Host: {$host}
+Content-Type: multipart/form-data; boundary=---------------------------114782935826962
+Content-Length: {$post_len}
+
+
+{$post_data}
+HEADER
+)) {
+       while (!feof($fp)) {
+               echo fgets($fp);
+       }
+}
+
+?>
+--EXPECTF--    
+HTTP/1.1 200 OK
+Host: %s
+Connection: closed
+X-Powered-By: PHP/%s-dev
+Content-type: text/html
+
+array(1) {
+  ["userfile"]=>
+  array(5) {
+    ["name"]=>
+    string(12) "laruence.txt"
+    ["type"]=>
+    string(10) "text/plain"
+    ["tmp_name"]=>
+    string(%d) "%s"
+    ["error"]=>
+    int(0)
+    ["size"]=>
+    int(26)
+  }
+}