]> granicus.if.org Git - php/commitdiff
MFB
authorNuno Lopes <nlopess@php.net>
Thu, 23 Nov 2006 20:48:21 +0000 (20:48 +0000)
committerNuno Lopes <nlopess@php.net>
Thu, 23 Nov 2006 20:48:21 +0000 (20:48 +0000)
ext/ftp/tests/bug27809.phpt [new file with mode: 0644]
ext/ftp/tests/bug7216-2.phpt [new file with mode: 0644]
ext/ftp/tests/bug7216.phpt [new file with mode: 0644]
ext/ftp/tests/server.inc

diff --git a/ext/ftp/tests/bug27809.phpt b/ext/ftp/tests/bug27809.phpt
new file mode 100644 (file)
index 0000000..bcbe03f
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+Bug #27809: ftp_systype returns null
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+$bug27809=true;
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+
+var_dump(ftp_login($ftp, 'anonymous', 'IEUser@'));
+var_dump(ftp_systype($ftp));
+
+?>
+--EXPECT--
+bool(true)
+string(6) "OS/400"
diff --git a/ext/ftp/tests/bug7216-2.phpt b/ext/ftp/tests/bug7216-2.phpt
new file mode 100644 (file)
index 0000000..ce31c45
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+Bug #7216: ftp_mkdir returns nothing (2)
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+
+var_dump(ftp_login($ftp, 'anonymous', 'IEUser@'));
+// test for the correct behavior this time
+var_dump(ftp_mkdir($ftp, 'CVS'));
+
+?>
+--EXPECTREGEX--
+bool\(true\)
+string\(\d+\) ".+[\/\\]CVS"
diff --git a/ext/ftp/tests/bug7216.phpt b/ext/ftp/tests/bug7216.phpt
new file mode 100644 (file)
index 0000000..870e02e
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+Bug #7216: ftp_mkdir returns nothing
+--SKIPIF--
+<?php
+require 'skipif.inc';
+?>
+--FILE--
+<?php
+$bug7216=true;
+require 'server.inc';
+
+$ftp = ftp_connect('127.0.0.1', $port);
+if (!$ftp) die("Couldn't connect to the server");
+
+var_dump(ftp_login($ftp, 'anonymous', 'IEUser@'));
+var_dump(ftp_mkdir($ftp, 'CVS'));
+
+?>
+--EXPECT--
+bool(true)
+string(3) "CVS"
index ca42ef8fdaf0d565d52d03f3683e9ae2ccc82c4f..37df79337523d976077e9d609a42565e7b463344 100644 (file)
@@ -151,7 +151,11 @@ while($buf = fread($s, 4098)) {
                fputs($s, "250 CDUP command successful.\r\n");
 
        } elseif ($buf === "SYST\r\n") {
-               fputs($s, "215 UNIX Type: L8.\r\n");
+               if (isset($bug27809)) {
+                       fputs($s, "215   OS/400 is the remote operating system. The TCP/IP version is \"V5R2M0\"\r\n");
+               } else {
+                       fputs($s, "215 UNIX Type: L8.\r\n");
+               }
 
        } elseif ($buf === "QUIT\r\n") {
                break;
@@ -160,7 +164,14 @@ while($buf = fread($s, 4098)) {
                change_dir($m[1]);
                fputs($s, "250 CWD command successful.\r\n");
 
-       } else if(preg_match('/^USER /', $buf)) {
+       } elseif (preg_match("~^MKD ([A-Za-z./]+)\r\n$~", $buf, $m)) {
+               if (isset($bug7216)) {
+                       fputs($s, "257 OK.\r\n");
+               } else {
+                       fputs($s, '257 "'.realpath($m[1])."\" created.\r\n");
+               }
+
+       } elseif (preg_match('/^USER /', $buf)) {
                user_auth($buf);
 
        } else {