X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Ft%2Fweb%2Fcompilation_errors.t;h=126d33691bff2a1f8b5ccd43ce8060d9160fa409;hb=ed1f84b4e8f626245995ecda5afcf83092c153b2;hp=46a8628686f56bfe151aa1825eb55265103ff4ff;hpb=63a268637b2d51a8766412617724b9436439deb6;p=freeside.git diff --git a/rt/t/web/compilation_errors.t b/rt/t/web/compilation_errors.t index 46a862868..126d33691 100644 --- a/rt/t/web/compilation_errors.t +++ b/rt/t/web/compilation_errors.t @@ -1,22 +1,20 @@ -#!/usr/bin/perl - use strict; +use warnings; use Test::More; use File::Find; BEGIN { sub wanted { - -f && /\.html$/ && $_ !~ /Logout.html$/; + -f && /\.html$/ && $_ !~ /Logout.html$/ && $File::Find::dir !~ /RichText/; } - my $tests = 7; + my $tests = 8; find( sub { wanted() and $tests += 4 }, 'share/html/' ); - plan tests => $tests; + plan tests => $tests + 1; # plus one for warnings check } use HTTP::Request::Common; use HTTP::Cookies; use LWP; -use Encode; my $cookie_jar = HTTP::Cookies->new; @@ -28,41 +26,37 @@ $agent->cookie_jar($cookie_jar); # get the top page my $url = $agent->rt_base_url; -diag "Base URL is '$url'" if $ENV{TEST_VERBOSE}; $agent->get($url); -is ($agent->{'status'}, 200, "Loaded a page"); - -# {{{ test a login +is($agent->status, 200, "Loaded a page"); # follow the link marked "Login" +$agent->login(root => 'password'); +is($agent->status, 200, "Fetched the page ok"); +$agent->content_contains('Logout', "Found a logout link"); -ok($agent->{form}->find_input('user')); -ok($agent->{form}->find_input('pass')); -like ($agent->{'content'} , qr/username:/i); -$agent->field( 'user' => 'root' ); -$agent->field( 'pass' => 'password' ); -# the field isn't named, so we have to click link 0 -$agent->click(0); -is($agent->{'status'}, 200, "Fetched the page ok"); -like( $agent->{'content'} , qr/Logout/i, "Found a logout link"); +find ( sub { wanted() and test_get($agent, $File::Find::name) } , 'share/html/'); - -find ( sub { wanted() and test_get($File::Find::name) } , 'share/html/'); +TODO: { + local $TODO = "we spew *lots* of undef warnings"; + $agent->no_warnings_ok; +}; sub test_get { + my $agent = shift; my $file = shift; $file =~ s#^share/html/##; - diag( "testing $url/$file" ) if $ENV{TEST_VERBOSE}; - ok ($agent->get("$url/$file", "GET $url/$file"), "Can Get $url/$file"); - is ($agent->{'status'}, 200, "Loaded $file"); -# ok( $agent->{'content'} =~ /Logout/i, "Found a logout link on $file "); - ok( $agent->{'content'} !~ /Not logged in/i, "Still logged in for $file"); - ok( $agent->{'content'} !~ /raw error/i, "Didn't get a Mason compilation error on $file"); + diag( "testing $url/$file" ); + + $agent->get_ok("$url/$file"); + is($agent->status, 200, "Loaded $file"); + $agent->content_lacks('Not logged in', "Still logged in for $file"); + $agent->content_lacks('raw error', "Didn't get a Mason compilation error on $file") or do { + if (my ($error) = $agent->content =~ /
(.*?line.*?)$/s) {
+                diag "$file: $error";
+            }
+        };
 }
 
-# }}}
-
-1;