summaryrefslogtreecommitdiff
path: root/ext/ftp
diff options
context:
space:
mode:
authorNuno Lopes <nlopess@php.net>2006-11-23 20:48:21 +0000
committerNuno Lopes <nlopess@php.net>2006-11-23 20:48:21 +0000
commita75c11138be65d7836dc4a9d07240891ece8a8df (patch)
tree1f54a62227805b540ff14c8dbf6b3bde982b0bc3 /ext/ftp
parent4e77515c30822c8427d17d11571a42be8e546bd4 (diff)
downloadphp-git-a75c11138be65d7836dc4a9d07240891ece8a8df.tar.gz
MFB
Diffstat (limited to 'ext/ftp')
-rw-r--r--ext/ftp/tests/bug27809.phpt21
-rw-r--r--ext/ftp/tests/bug7216-2.phpt21
-rw-r--r--ext/ftp/tests/bug7216.phpt21
-rw-r--r--ext/ftp/tests/server.inc15
4 files changed, 76 insertions, 2 deletions
diff --git a/ext/ftp/tests/bug27809.phpt b/ext/ftp/tests/bug27809.phpt
new file mode 100644
index 0000000000..bcbe03f131
--- /dev/null
+++ b/ext/ftp/tests/bug27809.phpt
@@ -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
index 0000000000..ce31c45ab5
--- /dev/null
+++ b/ext/ftp/tests/bug7216-2.phpt
@@ -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
index 0000000000..870e02ea61
--- /dev/null
+++ b/ext/ftp/tests/bug7216.phpt
@@ -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"
diff --git a/ext/ftp/tests/server.inc b/ext/ftp/tests/server.inc
index ca42ef8fda..37df793375 100644
--- a/ext/ftp/tests/server.inc
+++ b/ext/ftp/tests/server.inc
@@ -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 {