diff options
Diffstat (limited to 'tests/Test-ftp-list-Unknown-hidden.px')
-rwxr-xr-x | tests/Test-ftp-list-Unknown-hidden.px | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/Test-ftp-list-Unknown-hidden.px b/tests/Test-ftp-list-Unknown-hidden.px new file mode 100755 index 0000000..c300761 --- /dev/null +++ b/tests/Test-ftp-list-Unknown-hidden.px @@ -0,0 +1,68 @@ +#!/usr/bin/env perl + +# 2013-10-17 Andrea Urbani (matfanjol) +# In this ftp test: +# - the response of SYST command is +# 215 Unknown ftp service +# - the response of "LIST -a" command contains +# all the files +# - the response of "LIST" command contains +# the normal files (hidden files are not present) +# wget should use "LIST -a", but also "LIST". +# After "LIST", wget will see more data is available +# on "LIST -a", so it should go back to "LIST -a". +# (See also Test-ftp-list-Unknown-a.px) + +use strict; +use warnings; + +use FTPTest; + + +############################################################################### + +my $normalfile = <<EOF; +I'm a normal file +EOF + +my $hiddenfile = <<EOF; +I'm an hidden file +EOF + +$normalfile =~ s/\n/\r\n/g; +$hiddenfile =~ s/\n/\r\n/g; + +# code, msg, headers, content +my %urls = ( + '/normalfile.txt' => { + content => $normalfile, + }, + '/hiddenfile.txt' => { + content => $hiddenfile, + attr => "H", + }, +); + +my $cmdline = $WgetTest::WGETPATH . " --no-directories --recursive --level=1 ftp://localhost:{{port}}/"; + +my $expected_error_code = 0; + +my %expected_downloaded_files = ( + 'normalfile.txt' => { + content => $normalfile, + }, + 'hiddenfile.txt' => { + content => $hiddenfile, + }, +); + +############################################################################### + +my $the_test = FTPTest->new ( + input => \%urls, + cmdline => $cmdline, + errcode => $expected_error_code, + output => \%expected_downloaded_files, + server_behavior => {list_no_hidden_if_list => 1, + syst_response => "215 Unknown ftp service"}); +exit $the_test->run(); |