X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2Flib%2FTestGitalist.pm;fp=t%2Flib%2FTestGitalist.pm;h=05422de85f1fc3223ebb5d222bf668549143eec4;hb=6dac263862e569fbd4512241201d11e764162479;hp=0000000000000000000000000000000000000000;hpb=ca06a1778cf7fcaf4650602e65f1a7e2a1129de9;p=catagits%2FGitalist.git diff --git a/t/lib/TestGitalist.pm b/t/lib/TestGitalist.pm new file mode 100644 index 0000000..05422de --- /dev/null +++ b/t/lib/TestGitalist.pm @@ -0,0 +1,47 @@ +package TestGitalist; +use strict; +use warnings; +use Exporter qw/import/; +use Catalyst::Test qw/Gitalist/; +use Test::More; + +our @EXPORT = qw/ + test_uri + curry_test_uri +/; + +use constant (); +BEGIN { + my $mech = eval { + require Test::WWW::Mechanize::Catalyst; + Test::WWW::Mechanize::Catalyst->new(catalyst_app => 'Gitalist') + }; + constant->import('MECH', $mech ); +} + +sub test_uri { + my ($uri, $qs) = @_; + $qs ||= ''; + my $request = "/$uri"; + $request .= "?$qs" if defined $qs; + my $response = request($request); + ok($response->is_success, "ok $uri - $qs"); + if (MECH) { + my $res = MECH()->get($request); + ok $res->is_success, "ok mech $uri - $qs (" . $res->code . ')'; + MECH()->page_links_ok() + if $res->content_type =~ m|text/html|; + } + return $response; +} + +sub curry_test_uri { + my $prefix = shift; + my $to_curry = shift || \&test_uri; + sub { + my $uri = shift; + $to_curry->("$prefix/$uri", @_); + }; +} + +1;