mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
[svn] Added testing for -np option.
This commit is contained in:
parent
ff82bd9276
commit
cd50595319
@ -1,3 +1,9 @@
|
||||
2006-11-10 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||
|
||||
* Test-np.px: Added test for -np.
|
||||
|
||||
* HTTPTest.pm: Ignore initial '/' character in requested URLs.
|
||||
|
||||
2006-10-12 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||
|
||||
* Test1.px: Renamed to Test-noop.px.
|
||||
|
@ -29,9 +29,12 @@ sub run {
|
||||
print STDERR "Accepted a new connection\n" if $log;
|
||||
while (my $req = $con->get_request) {
|
||||
my $url_path = $req->url->path;
|
||||
if ($url_path =~ m{/$}) {
|
||||
if ($url_path =~ m{/$}) { # append 'index.html'
|
||||
$url_path .= 'index.html';
|
||||
}
|
||||
if ($url_path =~ m{^/}) { # remove trailing '/'
|
||||
$url_path = substr ($url_path, 1);
|
||||
}
|
||||
if ($log) {
|
||||
print STDERR "Method: ", $req->method, "\n";
|
||||
print STDERR "Path: ", $url_path, "\n";
|
||||
|
148
tests/Test-np.px
Executable file
148
tests/Test-np.px
Executable file
@ -0,0 +1,148 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
use strict;
|
||||
|
||||
use HTTPTest;
|
||||
|
||||
|
||||
###############################################################################
|
||||
|
||||
my $mainpage = <<EOF;
|
||||
<html>
|
||||
<head>
|
||||
<title>Main Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Some text and a link to a <a href="http://localhost:8080/firstlevel/secondpage.html">second page</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
my $secondpage = <<EOF;
|
||||
<html>
|
||||
<head>
|
||||
<title>Second Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Some text and a link to a <a href="http://localhost:8080/firstlevel/lowerlevel/thirdpage.html">third page</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
my $thirdpage = <<EOF;
|
||||
<html>
|
||||
<head>
|
||||
<title>Third Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
Some text and a link to a <a href="http://localhost:8080/higherlevelpage.html">higher level page</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
my $fourthpage = <<EOF;
|
||||
<html>
|
||||
<head>
|
||||
<title>Fourth Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
This page is only linked by the higher level page. Therefore, it should not
|
||||
be downloaded.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
my $higherlevelpage = <<EOF;
|
||||
<html>
|
||||
<head>
|
||||
<title>Higher Level Page</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>
|
||||
This page is on a higher level in the URL path hierarchy. Therefore, it
|
||||
should not be downloaded. Wget should not visit the following link to a
|
||||
<a href="http://localhost:8080/firstlevel/fourthpage.html">fourth page</a>.
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
|
||||
# code, msg, headers, content
|
||||
my %urls = (
|
||||
'firstlevel/index.html' => {
|
||||
code => "200",
|
||||
msg => "Dontcare",
|
||||
headers => {
|
||||
"Content-type" => "text/html",
|
||||
},
|
||||
content => $mainpage,
|
||||
},
|
||||
'firstlevel/secondpage.html' => {
|
||||
code => "200",
|
||||
msg => "Dontcare",
|
||||
headers => {
|
||||
"Content-type" => "text/html",
|
||||
},
|
||||
content => $secondpage,
|
||||
},
|
||||
'firstlevel/lowerlevel/thirdpage.html' => {
|
||||
code => "200",
|
||||
msg => "Dontcare",
|
||||
headers => {
|
||||
"Content-type" => "text/html",
|
||||
},
|
||||
content => $thirdpage,
|
||||
},
|
||||
'firstlevel/fourthpage.html' => {
|
||||
code => "200",
|
||||
msg => "Dontcare",
|
||||
headers => {
|
||||
"Content-type" => "text/plain",
|
||||
},
|
||||
content => $fourthpage,
|
||||
},
|
||||
'higherlevelpage.html' => {
|
||||
code => "200",
|
||||
msg => "Dontcare",
|
||||
headers => {
|
||||
"Content-type" => "text/plain",
|
||||
},
|
||||
content => $higherlevelpage,
|
||||
},
|
||||
);
|
||||
|
||||
my $cmdline = "wget -np -nH -r http://localhost:8080/firstlevel/";
|
||||
|
||||
my $expected_error_code = 0;
|
||||
|
||||
my %expected_downloaded_files = (
|
||||
'firstlevel/index.html' => {
|
||||
content => $mainpage,
|
||||
},
|
||||
'firstlevel/secondpage.html' => {
|
||||
content => $secondpage,
|
||||
},
|
||||
'firstlevel/lowerlevel/thirdpage.html' => {
|
||||
content => $thirdpage,
|
||||
},
|
||||
);
|
||||
|
||||
###############################################################################
|
||||
|
||||
my $the_test = HTTPTest->new (name => "Test-np",
|
||||
input => \%urls,
|
||||
cmdline => $cmdline,
|
||||
errcode => $expected_error_code,
|
||||
output => \%expected_downloaded_files);
|
||||
$the_test->run();
|
||||
|
||||
# vim: et ts=4 sw=4
|
||||
|
Loading…
Reference in New Issue
Block a user