X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F01app.t;h=f52f36e635de377be94349b3a0587c85e40fb70c;hb=5f79e33f1fbb6d7a204b8b4a33426ab693c730cc;hp=57dba804242ab0d50940453261190a5d58e8737d;hpb=a349e797ad4ea6be7d0748281b749c6a2b3b83c4;p=catagits%2FGitalist.git diff --git a/t/01app.t b/t/01app.t index 57dba80..f52f36e 100644 --- a/t/01app.t +++ b/t/01app.t @@ -1,16 +1,12 @@ #!/usr/bin/env perl -use strict; -use warnings; -use Test::More; use FindBin qw/$Bin/; +use lib "$Bin/lib"; +use TestGitalist; -BEGIN { - $ENV{GITALIST_CONFIG} = $Bin; - $ENV{GITALIST_REPO_DIR} = ''; - use_ok 'Catalyst::Test', 'Gitalist'; -} - -for my $p ('', qw/ repo1 nodescription bare.git opml /) { +for my $p ('', qw{ + repo1 nodescription bare.git opml search + fragment/collectionofrepositories +}) { my $path = '/' . $p; ok( request($path)->is_success, "$path should succeed"); } @@ -19,28 +15,38 @@ 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/raw/file1'); + TODO: { local $TODO = "FIXME"; test('search', 'type=commit&text=added'); - - test('blob', 'f=dir1/file2;hb=36c6c6708b8360d7023e8a1649c45bcf9b3bd818'); - # FIXME - What's the difference here? #test('patch', 'h=3f7567c7bdf7e7ebf410926493b92d398333116e'); #test('patch', 'h=3f7567c7bdf7e7ebf410926493b92d398333116e;hp=3bc0634310b9c62222bb0e724c11ffdfb297b4ac'); @@ -50,22 +56,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", @_); - }; -}