From 5e03c718f4e7ff13cb6834eda737c269ebed02ad Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:04:52 +0200 Subject: Adding upstream version 1.21.3. Signed-off-by: Daniel Baumann --- tests/Test-meta-robots.px | 113 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100755 tests/Test-meta-robots.px (limited to 'tests/Test-meta-robots.px') diff --git a/tests/Test-meta-robots.px b/tests/Test-meta-robots.px new file mode 100755 index 0000000..4a90338 --- /dev/null +++ b/tests/Test-meta-robots.px @@ -0,0 +1,113 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use HTTPTest; + +# This test checks that Wget parses "nofollow" when it appears in tags, regardless of where in a list of comma-separated +# values it appears, and regardless of spelling. +# +# Three different files contain links to the file "bombshell.html", each +# with "nofollow" set, at various positions in a list of values for a +# tag, and with various degrees of separating +# whitesspace. If bombshell.html is downloaded, the test +# has failed. + +############################################################################### + +my $nofollow_start = < +Don't follow me! +EOF + +my $nofollow_mid = < +Don't follow me! +EOF + +my $nofollow_end = < +Don't follow me! +EOF + +my $nofollow_solo = < +Don't follow me! +EOF + +# code, msg, headers, content +my %urls = ( + '/start.html' => { + code => "200", + msg => "Ok", + headers => { + "Content-type" => "text/html", + }, + content => $nofollow_start, + }, + '/mid.html' => { + code => "200", + msg => "Ok", + headers => { + "Content-type" => "text/html", + }, + content => $nofollow_mid, + }, + '/end.html' => { + code => "200", + msg => "Ok", + headers => { + "Content-type" => "text/html", + }, + content => $nofollow_end, + }, + '/solo.html' => { + code => "200", + msg => "Ok", + headers => { + "Content-type" => "text/html", + }, + content => $nofollow_solo, + }, + '/bombshell.html' => { + code => "200", + msg => "Ok", + headers => { + "Content-type" => "text/html", + }, + content => 'Hello', + }, +); + +my $cmdline = $WgetTest::WGETPATH . " -r -nd " + . join(' ',(map "http://localhost:{{port}}/$_.html", + qw(start mid end solo))); + +my $expected_error_code = 0; + +my %expected_downloaded_files = ( + 'start.html' => { + content => $nofollow_start, + }, + 'mid.html' => { + content => $nofollow_mid, + }, + 'end.html' => { + content => $nofollow_end, + }, + 'solo.html' => { + content => $nofollow_solo, + } +); + +############################################################################### + +my $the_test = HTTPTest->new (input => \%urls, + cmdline => $cmdline, + errcode => $expected_error_code, + output => \%expected_downloaded_files); +exit $the_test->run(); + +# vim: et ts=4 sw=4 -- cgit v1.2.3