From b8064e5c72fdab932814494f9e5267074db806c1 Mon Sep 17 00:00:00 2001 From: short <> Date: Sun, 9 Oct 2005 09:54:29 +0000 Subject: [PATCH] Support ARRAY as: $HTML_TEST_QUERY_STRING --- html-test.pl | 56 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/html-test.pl b/html-test.pl index 67dfe60..ce68887 100755 --- a/html-test.pl +++ b/html-test.pl @@ -47,34 +47,36 @@ My::ModPerlPm->list("sub"=>sub { my $validate=$opt_validate; $validate=0 if $HTML_TEST && $HTML_TEST eq "download"; my $HTML_TEST_QUERY_STRING=eval '$'.$p->{"module"}.'::HTML_TEST_QUERY_STRING;'; - my $url=$URL_BASE.$p->{"url"}.(!$HTML_TEST_QUERY_STRING ? "" : "?".$HTML_TEST_QUERY_STRING); - my $url_matches=1 if $first_pattern && $url=~/$first_pattern/o; - die "Pattern amiguous on: $url\n" if $first_seen && $url_matches; - if (!$first_seen && !($first_seen=($url=~/$first_pattern/o))) { - print "_"; - return; + for my $query_string ("ARRAY" eq ref $HTML_TEST_QUERY_STRING ? @$HTML_TEST_QUERY_STRING : $HTML_TEST_QUERY_STRING) { + my $url=$URL_BASE.$p->{"url"}.(!$query_string ? "" : "?".$query_string); + my $url_matches=1 if $first_pattern && $url=~/$first_pattern/o; + die "Pattern amiguous on: $url\n" if $first_seen && $url_matches; + if (!$first_seen && !($first_seen=($url=~/$first_pattern/o))) { + print "_"; + next; + } + print "."; + if ($validate) { + $url=($opt_local ? $URL_VALIDATOR_BASE_LOCAL : $URL_VALIDATOR_BASE).uri_escape($url); + } + my $request=HTTP::Request->new("GET",$url); + $request->header("Cache-control"=>"no-cache"); + # Do not: ...->request(...); + # as it would follow our tested 403 redirect responses. + my $response=$UA->simple_request($request); + my $HTML_TEST_RC=eval '$'.$p->{"module"}.'::HTML_TEST_RC;'; + $HTML_TEST_RC=HTTP::Status::RC_OK() if !defined $HTML_TEST_RC; + if ($response->code()==$HTML_TEST_RC) { + next if !$validate; + local $_=$response->content(); + my $valid=/\bclass="valid"\s*>/; + my $invalid=/\bclass="invalid"\s*>/; + die "\nUnexpected response: $url\n" if $valid==$invalid; + next if $valid; + die "\n$url\n"; + } + die "\n$url: ".$response->code()."\n"; } - print "."; - if ($validate) { - $url=($opt_local ? $URL_VALIDATOR_BASE_LOCAL : $URL_VALIDATOR_BASE).uri_escape($url); - } - my $request=HTTP::Request->new("GET",$url); - $request->header("Cache-control"=>"no-cache"); - # Do not: ...->request(...); - # as it would follow our tested 403 redirect responses. - my $response=$UA->simple_request($request); - my $HTML_TEST_RC=eval '$'.$p->{"module"}.'::HTML_TEST_RC;'; - $HTML_TEST_RC=HTTP::Status::RC_OK() if !defined $HTML_TEST_RC; - if ($response->code()==$HTML_TEST_RC) { - return if !$validate; - local $_=$response->content(); - my $valid=/\bclass="valid"\s*>/; - my $invalid=/\bclass="invalid"\s*>/; - die "\nUnexpected response: $url\n" if $valid==$invalid; - return if $valid; - die "\n$url\n"; - } - die "\n$url: ".$response->code()."\n"; }) for (0,($opt_validate ? 1 : ())); print "\n"; die "Nothing seen for: $first_pattern\n" if !$first_seen; -- 1.8.3.1