mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
Test for -c shorter content (#23613).
This commit is contained in:
parent
123f5c3966
commit
f0438edcf2
@ -92,13 +92,13 @@ sub send_response {
|
||||
print $con $content;
|
||||
next;
|
||||
}
|
||||
if ($req->header("Range")) {
|
||||
if ($req->header("Range") && !$url_rec->{'force_code'}) {
|
||||
$req->header("Range") =~ m/bytes=(\d*)-(\d*)/;
|
||||
my $content_len = length($content);
|
||||
my $start = $1 ? $1 : 0;
|
||||
my $end = $2 ? $2 : ($content_len - 1);
|
||||
my $len = $2 ? ($2 - $start) : ($content_len - $start);
|
||||
if ($len) {
|
||||
if ($len > 0) {
|
||||
$resp->header("Accept-Ranges" => "bytes");
|
||||
$resp->header("Content-Length" => $len);
|
||||
$resp->header("Content-Range"
|
||||
|
64
tests/Test-c-shorter.px
Executable file
64
tests/Test-c-shorter.px
Executable file
@ -0,0 +1,64 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
use HTTPTest;
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
my $partiallydownloaded = <<EOF;
|
||||
11111111111111111111111111111111111111111111111111
|
||||
22222222x222222222222222222222222222222222222222222222222222
|
||||
EOF
|
||||
|
||||
my $rest = <<EOF;
|
||||
3333333333333333333333333333333333333333333333333333333333333333333333
|
||||
444444444444444444444444444444444444444444444444444444444444
|
||||
55555555555555555555555555555555555555555555555555
|
||||
EOF
|
||||
|
||||
my $downloadedfile = $partiallydownloaded . $rest;
|
||||
|
||||
# code, msg, headers, content
|
||||
my %urls = (
|
||||
'/somefile.txt' => {
|
||||
code => "200",
|
||||
force_code => 1,
|
||||
msg => "Dontcare",
|
||||
headers => {
|
||||
"Content-type" => "text/plain",
|
||||
"Content-Length" => 0,
|
||||
},
|
||||
content => '',
|
||||
},
|
||||
);
|
||||
|
||||
my $cmdline = $WgetTest::WGETPATH . " -c http://localhost:{{port}}/somefile.txt";
|
||||
|
||||
my $expected_error_code = 0;
|
||||
|
||||
my %existing_files = (
|
||||
'somefile.txt' => {
|
||||
content => $downloadedfile,
|
||||
},
|
||||
);
|
||||
|
||||
my %expected_downloaded_files = (
|
||||
'somefile.txt' => {
|
||||
content => $downloadedfile,
|
||||
},
|
||||
);
|
||||
|
||||
###############################################################################
|
||||
|
||||
my $the_test = HTTPTest->new (name => "Test-c-partial",
|
||||
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
|
||||
|
@ -12,6 +12,7 @@ my @tests = (
|
||||
'Test--spider.px',
|
||||
'Test-c-full.px',
|
||||
'Test-c-partial.px',
|
||||
'Test-c-shorter.px',
|
||||
'Test-c.px',
|
||||
'Test-E-k-K.px',
|
||||
'Test-E-k.px',
|
||||
|
Loading…
Reference in New Issue
Block a user