diff options
Diffstat (limited to 'ext/ftp/tests')
-rw-r--r-- | ext/ftp/tests/ftp_mdtm_basic.phpt | 48 | ||||
-rw-r--r-- | ext/ftp/tests/server.inc | 21 |
2 files changed, 68 insertions, 1 deletions
diff --git a/ext/ftp/tests/ftp_mdtm_basic.phpt b/ext/ftp/tests/ftp_mdtm_basic.phpt new file mode 100644 index 0000000000..39aeb766fb --- /dev/null +++ b/ext/ftp/tests/ftp_mdtm_basic.phpt @@ -0,0 +1,48 @@ +--TEST-- +Test the File Modification Time as described in http://tools.ietf.org/html/rfc3659#section-3.1 +--CREDITS-- +Nathaniel McHugh +--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, 'user', 'pass')); + + +date_default_timezone_set('UTC'); + +$time = ftp_mdtm($ftp, "A"); +echo date("F d Y H:i:s u",$time), PHP_EOL; + +$time = ftp_mdtm($ftp, "B"); +echo date("F d Y H:i:s u",$time), PHP_EOL; + +$time = ftp_mdtm($ftp, "C"); +echo date("F d Y H:i:s u",$time), PHP_EOL; + +$time = ftp_mdtm($ftp, "D"); +var_dump($time); + +$time = ftp_mdtm($ftp, "19990929043300 File6"); +echo date("F d Y H:i:s u",$time), PHP_EOL; + +$time = ftp_mdtm($ftp, "MdTm 19990929043300 file6"); +var_dump($time); + +?> +--EXPECTF-- +bool(true) +June 15 1998 10:00:45 000000 +June 15 1998 10:00:45 000000 +July 05 1998 13:23:16 000000 +int(-1) +October 05 1999 21:31:02 000000 +int(-1) diff --git a/ext/ftp/tests/server.inc b/ext/ftp/tests/server.inc index c101c7c70f..bf11257af0 100644 --- a/ext/ftp/tests/server.inc +++ b/ext/ftp/tests/server.inc @@ -244,7 +244,26 @@ while($buf = fread($s, 4098)) { } elseif (preg_match('/^USER /', $buf)) { user_auth($buf); - } else { + } elseif (preg_match('/^MDTM ([\w\h]+)/', $buf, $matches)) { + switch ($matches [1]){ + case "A": + fputs($s, "213 19980615100045.014\r\n"); + break; + case "B": + fputs($s, "213 19980615100045.014\r\n"); + break; + case "C": + fputs($s, "213 19980705132316\r\n"); + break; + case "19990929043300 File6": + fputs($s, "213 19991005213102\r\n"); + break; + default : + fputs($s, "550 No file named \"{$matches [1]}\"\r\n"); + break; + } + } + else { fputs($s, "500 Syntax error, command unrecognized.\r\n"); dump_and_exit($buf); } |