Bump version to 0.004002 and update Changes.
[catagits/Gitalist.git] / t / app-mech-rootpage.t
CommitLineData
08122a3c 1#!/usr/bin/env perl
2use FindBin qw/$Bin/;
df629266 3BEGIN {
0556ab26 4 my $env = "$FindBin::Bin/../script/env";
df629266 5 if (-r $env) {
6 do $env or die $@;
7 }
8}
9
08122a3c 10use lib "$Bin/lib";
11use TestGitalist;
aebe9a0e 12plan 'skip_all' => "One or more of the following modules aren't present: Test::WWW::Mechanize::Catalyst WWW::Mechanize::TreeBuilder HTML::TreeBuilder::XPath" unless MECH();
08122a3c 13
14MECH->get_ok('/');
d2510bc5 15{
3dddff36 16 my $nodeset = MECH->findnodes('/html/body//tr[@class="repository"]');
d2510bc5 17 foreach my $row ($nodeset->get_nodelist) {
18 my $uri = $row->findnodes('.//a')->[0]->attr('href');
3dddff36 19 my ($repos_name) = $uri =~ m{^http://localhost/([\w\.]+)};
d2510bc5 20 ok $repos_name, "Repos name $repos_name";
2d376b54 21 like $row->findnodes('.//a')->[1]->as_text, qr{^[\w\s/;',\.]+$}, 'Have description'
d2510bc5 22 unless $repos_name eq 'nodescription';
3dddff36 23 like $row->findnodes('.//td[@class="time-since"')->[0]->as_text, qr/^(never|\d+\s+(years|months)\s+ago)$/,
d2510bc5 24 'Last change looks ok';
3dddff36 25 my ($shortlog, $log, $tree) = $row->findnodes('.//td[@class="action-list"]/a')->get_nodelist;
26 $uri =~ s{/summary}{};
27 like $shortlog->as_text, qr/short log/i, 'shortlog text ok';
d2510bc5 28 is $shortlog->attr('href'), "$uri/shortlog", 'shortlog href ok';
29 like $log->as_text, qr/log/, 'log text ok';
30 is $log->attr('href'), "$uri/log", 'log href ok';
31 like $tree->as_text, qr/tree/, 'tree text ok';
3dddff36 32 is $tree->attr('href'), "$uri/HEAD/tree", 'tree href ok';
d2510bc5 33 }
34}
08122a3c 35
36done_testing;