Support ARRAY as: $HTML_TEST_QUERY_STRING
authorshort <>
Sun, 9 Oct 2005 09:54:29 +0000 (09:54 +0000)
committershort <>
Sun, 9 Oct 2005 09:54:29 +0000 (09:54 +0000)
html-test.pl

index 67dfe60..ce68887 100755 (executable)
@@ -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 $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;
        }) for (0,($opt_validate ? 1 : ()));
 print "\n";
 die "Nothing seen for: $first_pattern\n" if !$first_seen;