]> granicus.if.org Git - php/commitdiff
Add tests for ftp_rename
authorMichael Kliewe <mk@tendermaker.solutions>
Thu, 26 Oct 2017 19:13:07 +0000 (12:13 -0700)
committerNikita Popov <nikita.ppv@gmail.com>
Sat, 28 Oct 2017 11:02:23 +0000 (13:02 +0200)
ext/ftp/tests/ftp_rename_basic1.phpt [new file with mode: 0644]
ext/ftp/tests/server.inc

diff --git a/ext/ftp/tests/ftp_rename_basic1.phpt b/ext/ftp/tests/ftp_rename_basic1.phpt
new file mode 100644 (file)
index 0000000..3e1facc
--- /dev/null
@@ -0,0 +1,23 @@
+--TEST--
+FTP basic ftp_rename calls
+--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");
+
+ftp_login($ftp, 'user', 'pass');
+
+var_dump(ftp_rename($ftp, 'existing_file', 'nonexisting_file'));
+var_dump(ftp_rename($ftp, 'nonexisting_file', 'nonexisting_file'));
+?>
+--EXPECTF--
+bool(true)
+
+Warning: ftp_rename(): No such file or directory in %sftp_rename_basic1.php on line 10
+bool(false)
index a1bf074f90c05a47172d77e3d3ae82e18ad51a94..11f6e8fa785995905fef4838ad65b00e654e4d2e 100644 (file)
@@ -471,11 +471,17 @@ if ($pid) {
                }elseif (preg_match('/^LIST no_exists\//', $buf, $matches)) {
                        fputs($s, "425 Error establishing connection\r\n");
 
-                }elseif (preg_match('/^REST (\d+)/', $buf, $matches)) {
-                        $GLOBALS['rest_pos'] = $matches[1];
+        }elseif (preg_match('/^REST (\d+)/', $buf, $matches)) {
+                       $GLOBALS['rest_pos'] = $matches[1];
                        fputs($s, "350 OK\r\n");
-                }elseif (preg_match('/^SIZE largefile/', $buf)) {
-                        fputs($s, "213 5368709120\r\n");
+        }elseif (preg_match('/^SIZE largefile/', $buf)) {
+            fputs($s, "213 5368709120\r\n");
+               }elseif (preg_match('/^RNFR existing_file/', $buf, $matches)) {
+                       fputs($s, "350 File or directory exists, ready for destination name\r\n");
+               }elseif (preg_match('/^RNFR nonexisting_file/', $buf, $matches)) {
+                       fputs($s, "550 No such file or directory\r\n");
+               }elseif (preg_match('/^RNTO nonexisting_file/', $buf, $matches)) {
+                       fputs($s, "250 Rename successful\r\n");
                }elseif (preg_match('/^MLSD no_exists\//', $buf, $matches)) {
                        fputs($s, "425 Error establishing connection\r\n");
                }elseif (preg_match("~^MLSD(?: ([A-Za-z./]+))?\r\n$~", $buf, $m)) {
@@ -518,7 +524,7 @@ if ($pid) {
 
                        fputs($s, "226 Closing data Connection.\r\n");
                        fclose($fs);
-                }else {
+        }else {
                        fputs($s, "500 Syntax error, command unrecognized.\r\n");
                        dump_and_exit($buf);
                }