X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Fapp-mech-rootpage.t;h=a2b2e46869948cb387e4f38df1b2ae38a1e550fc;hb=ca5cfe83ce7641811fa4befb2905d1e62afbc845;hp=a51da3f28ee7c5213118958920a8fe4b9dda5d4d;hpb=5ed74c87289454051bd0defcbb67c69f9cc6a799;p=catagits%2FGitalist.git diff --git a/t/app-mech-rootpage.t b/t/app-mech-rootpage.t index a51da3f..a2b2e46 100644 --- a/t/app-mech-rootpage.t +++ b/t/app-mech-rootpage.t @@ -1,33 +1,35 @@ #!/usr/bin/env perl use FindBin qw/$Bin/; -BEGIN { do "$FindBin::Bin/../script/env" or die $@ } +BEGIN { + my $env = "$FindBin::Bin/../script/env"; + if (-r $env) { + do $env or die $@; + } +} + use lib "$Bin/lib"; use TestGitalist; plan 'skip_all' => "One or more of the following modules aren't present: Test::WWW::Mechanize::Catalyst WWW::Mechanize::TreeBuilder HTML::TreeBuilder::XPath" unless MECH(); MECH->get_ok('/'); { - my $nodeset = MECH->findnodes('/html/body//tr[@class="reposrow"]'); + my $nodeset = MECH->findnodes('/html/body//tr[@class="repository"]'); foreach my $row ($nodeset->get_nodelist) { my $uri = $row->findnodes('.//a')->[0]->attr('href'); - my ($repos_name) = $uri =~ m{^http://localhost/([\w\.]+)$}; + my ($repos_name) = $uri =~ m{^http://localhost/([\w\.]+)}; ok $repos_name, "Repos name $repos_name"; like $row->findnodes('.//a')->[1]->as_text, qr{^[\w\s/;',\.]+$}, 'Have description' unless $repos_name eq 'nodescription'; - like $row->findnodes('.//td[@class="time-since"')->[0]->as_text, qr/^(never|\d\s+(years|months)\s+ago)$/, + like $row->findnodes('.//td[@class="time-since"')->[0]->as_text, qr/^(never|\d+\s+(years|months)\s+ago)$/, 'Last change looks ok'; - my ($summary, $shortlog, $log, $tree) = $row->findnodes('.//td[@class="link"]/a')->get_nodelist; - like $summary->as_text, qr/summary/i, 'summary text ok'; - is $summary->attr('href'), $uri, 'summary href correct'; - like $shortlog->as_text, qr/shortlog/i, 'shortlog text ok'; + my ($shortlog, $log, $tree) = $row->findnodes('.//td[@class="action-list"]/a')->get_nodelist; + $uri =~ s{/summary}{}; + like $shortlog->as_text, qr/short log/i, 'shortlog text ok'; is $shortlog->attr('href'), "$uri/shortlog", 'shortlog href ok'; like $log->as_text, qr/log/, 'log text ok'; is $log->attr('href'), "$uri/log", 'log href ok'; like $tree->as_text, qr/tree/, 'tree text ok'; - TODO: { - local $TODO = 'Bork'; - is $tree->attr('href'), "$uri/tree", 'tree href ok'; - } + is $tree->attr('href'), "$uri/HEAD/tree", 'tree href ok'; } }