Signed-off-by: Yousong Zhou <[email protected]> --- tests/ChangeLog | 7 ++++ tests/Test--start-pos--continue.px | 57 ++++++++++++++++++++++++++++++++++++ tests/Test--start-pos.px | 46 +++++++++++++++++++++++++++++ tests/Test-ftp--start-pos.px | 42 ++++++++++++++++++++++++++ tests/run-px | 3 ++ 5 files changed, 155 insertions(+), 0 deletions(-) create mode 100755 tests/Test--start-pos--continue.px create mode 100755 tests/Test--start-pos.px create mode 100755 tests/Test-ftp--start-pos.px
diff --git a/tests/ChangeLog b/tests/ChangeLog index d23e76e..f2e80e5 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,5 +1,12 @@ 2014-02-13 Yousong Zhou <[email protected]> + * Test--start-pos.px: Test --start-pos for HTTP downloads. + * Test-ftp--start-pos.px: Test --start-pos for FTP downloads. + * Test--start-pos--continue.px: Test the case when --start-pos and + --continue were both specified. + +2014-02-13 Yousong Zhou <[email protected]> + * Wget.pm.in: Exclude existing files from the check of unexpected downloads. diff --git a/tests/Test--start-pos--continue.px b/tests/Test--start-pos--continue.px new file mode 100755 index 0000000..09b8ced --- /dev/null +++ b/tests/Test--start-pos--continue.px @@ -0,0 +1,57 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use HTTPTest; + + +############################################################################### + +my $existingfile = <<EOF; +content should be preserved. +EOF + +my $wholefile = "1234"; + +# code, msg, headers, content +my %urls = ( + '/somefile.txt' => { + code => "206", + msg => "Dontcare", + headers => { + "Content-type" => "text/plain", + }, + content => $wholefile, + }, +); + +my $cmdline = $WgetTest::WGETPATH . " --start-pos=1 --continue --debug http://localhost:{{port}}/somefile.txt"; + +my $expected_error_code = 0; + +my %existing_files = ( + 'somefile.txt' => { + content => $existingfile, + }, +); + +my %expected_downloaded_files = ( + 'somefile.txt.1' => { + content => substr($wholefile, 1), + }, +); + +############################################################################### + +my $the_test = HTTPTest->new (name => "Test--start-pos--continue", + input => \%urls, + cmdline => $cmdline, + errcode => $expected_error_code, + existing => \%existing_files, + output => \%expected_downloaded_files); +exit $the_test->run(); + +# vim: et ts=4 sw=4 + + diff --git a/tests/Test--start-pos.px b/tests/Test--start-pos.px new file mode 100755 index 0000000..4962c82 --- /dev/null +++ b/tests/Test--start-pos.px @@ -0,0 +1,46 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use HTTPTest; + + +############################################################################### + +my $dummyfile = "1234"; + +# code, msg, headers, content +my %urls = ( + '/dummy.txt' => { + code => "206", + msg => "Dontcare", + headers => { + "Content-Type" => "text/plain", + }, + content => $dummyfile + }, +); + +my $cmdline = $WgetTest::WGETPATH . " --start-pos=1 http://localhost:{{port}}/dummy.txt"; + +my $expected_error_code = 0; + +my %expected_downloaded_files = ( + 'dummy.txt' => { + content => substr($dummyfile, 1), + } +); + +############################################################################### + +my $the_test = HTTPTest->new (name => "Test--start-pos", + input => \%urls, + cmdline => $cmdline, + errcode => $expected_error_code, + output => \%expected_downloaded_files); +exit $the_test->run(); + +# vim: et ts=4 sw=4 + + diff --git a/tests/Test-ftp--start-pos.px b/tests/Test-ftp--start-pos.px new file mode 100755 index 0000000..5062377 --- /dev/null +++ b/tests/Test-ftp--start-pos.px @@ -0,0 +1,42 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use FTPTest; + + +############################################################################### + +my $dummyfile = "1234"; + +# code, msg, headers, content +my %urls = ( + '/dummy.txt' => { + content => $dummyfile + }, +); + +my $cmdline = $WgetTest::WGETPATH . " --start-pos=1 ftp://localhost:{{port}}/dummy.txt"; + +my $expected_error_code = 0; + +my %expected_downloaded_files = ( + 'dummy.txt' => { + content => substr($dummyfile, 1), + } +); + +############################################################################### + +my $the_test = FTPTest->new (name => "Test-ftp--start-pos", + input => \%urls, + cmdline => $cmdline, + errcode => $expected_error_code, + output => \%expected_downloaded_files); +exit $the_test->run(); + +# vim: et ts=4 sw=4 + + + diff --git a/tests/run-px b/tests/run-px index a3f61bb..402f229 100755 --- a/tests/run-px +++ b/tests/run-px @@ -88,6 +88,9 @@ my @tests = ( 'Test--spider-r--no-content-disposition-trivial.px', 'Test--spider-r.px', 'Test--httpsonly-r.px', + 'Test--start-pos.px', + 'Test-ftp--start-pos.px', + 'Test--start-pos--continue.px', ); foreach my $var (qw(SYSTEM_WGETRC WGETRC)) { -- 1.7.2.5
