X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F01app.t;h=56f8799d62ce4baa0396b1df83d4942ad332f9de;hb=2d52ed84dbce5932f14972ba91a33de23faac648;hp=68d3bf4f7a7804a0b2ea066651714bf26e8830ac;hpb=ca06a1778cf7fcaf4650602e65f1a7e2a1129de9;p=catagits%2FGitalist.git diff --git a/t/01app.t b/t/01app.t index 68d3bf4..56f8799 100644 --- a/t/01app.t +++ b/t/01app.t @@ -1,16 +1,19 @@ #!/usr/bin/env perl -use strict; -use warnings; -use Test::More; use FindBin qw/$Bin/; - BEGIN { - $ENV{GITALIST_CONFIG} = $Bin; - $ENV{GITALIST_REPO_DIR} = ''; - use_ok 'Catalyst::Test', 'Gitalist'; + my $env = "$FindBin::Bin/../script/env"; + if (-r $env) { + do $env or die $@; + } } -for my $p ('', qw/ repo1 nodescription bare.git opml /) { +use lib "$Bin/lib"; +use TestGitalist; + +for my $p ('', qw{ + repo1 nodescription bare.git opml search + fragment/collectionofrepositories +}) { my $path = '/' . $p; ok( request($path)->is_success, "$path should succeed"); } @@ -19,24 +22,33 @@ my $response = request('/DoesNotExist'); is $response->code, 404, 'invalid repository 404s'; like $response->content, qr/Page not found/, 'invalid repository handled correctly'; +# URI tests for repo1 +foreach my $test (map {curry_test_uri($_)} ('fragment/repo1', 'repo1') ) { + $test->(''); + $test->('shortlog'); + $test->('log'); + $test->('heads'); + $test->('tags'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/tree'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/tree/dir1'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/diff'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/diff/plain'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/history/dir1'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/history/dir1'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/blame/file1'); + $test->('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/blob/file1'); +} { # URI tests for repo1 local *test = curry_test_uri('repo1'); - test(''); - test('shortlog'); - test('log'); - test('reflog'); - test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); - test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/tree'); - test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/diff'); + test('search'); + test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/patch'); test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/patches/1'); test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/patches/2'); - test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/history/dir1'); - test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/blame/file1'); test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/raw/file1'); - test('36c6c6708b8360d7023e8a1649c45bcf9b3bd818/blob/file1'); TODO: { local $TODO = "FIXME"; @@ -51,22 +63,3 @@ like $response->content, qr/Page not found/, 'invalid repository handled correct } done_testing; - -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"); - return $response; -} - -sub curry_test_uri { - my $prefix = shift; - my $to_curry = shift || \&test_uri; - sub { - my $uri = shift; - $to_curry->("$prefix/$uri", @_); - }; -}