mirror of
https://github.com/mirror/wget.git
synced 2025-03-26 12:06:06 +08: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>
|
2006-10-12 Mauro Tortonesi <mauro@ferrara.linux.it>
|
||||||
|
|
||||||
* Test1.px: Renamed to Test-noop.px.
|
* Test1.px: Renamed to Test-noop.px.
|
||||||
|
@ -29,9 +29,12 @@ sub run {
|
|||||||
print STDERR "Accepted a new connection\n" if $log;
|
print STDERR "Accepted a new connection\n" if $log;
|
||||||
while (my $req = $con->get_request) {
|
while (my $req = $con->get_request) {
|
||||||
my $url_path = $req->url->path;
|
my $url_path = $req->url->path;
|
||||||
if ($url_path =~ m{/$}) {
|
if ($url_path =~ m{/$}) { # append 'index.html'
|
||||||
$url_path .= 'index.html';
|
$url_path .= 'index.html';
|
||||||
}
|
}
|
||||||
|
if ($url_path =~ m{^/}) { # remove trailing '/'
|
||||||
|
$url_path = substr ($url_path, 1);
|
||||||
|
}
|
||||||
if ($log) {
|
if ($log) {
|
||||||
print STDERR "Method: ", $req->method, "\n";
|
print STDERR "Method: ", $req->method, "\n";
|
||||||
print STDERR "Path: ", $url_path, "\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