diff options
Diffstat (limited to 't/repobrowse_git_raw.t')
-rw-r--r-- | t/repobrowse_git_raw.t | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/t/repobrowse_git_raw.t b/t/repobrowse_git_raw.t new file mode 100644 index 00000000..2048d82a --- /dev/null +++ b/t/repobrowse_git_raw.t @@ -0,0 +1,30 @@ +# Copyright (C) 2016 all contributors <meta@public-inbox.org> +# License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> +use strict; +use warnings; +my $test = require './t/repobrowse_common_git.perl'; + +test_psgi($test->{app}, sub { + my ($cb) = @_; + + my $req = 'http://example.com/test.git/raw/master/dir'; + my $res = $cb->(GET($req)); + is(200, $res->code, 'got 200 response from dir'); + my $noslash_body = dechunk($res); + like($noslash_body, qr{href="dir/dur">dur</a></li>}, + 'path ok w/o slash'); + + my $slash = $req . '/'; + my $r2 = $cb->(GET($slash)); + is(200, $r2->code, 'got 200 response from dir'); + my $slash_body = dechunk($r2); + like($slash_body, qr{href="\./dur\">dur</a></li>}, 'path ok w/ slash'); + + $req = 'http://example.com/test.git/raw/master/foo.txt'; + my $blob = $cb->(GET($req)); + like($blob->header('Content-Type'), qr!\Atext/plain\b!, + 'got text/plain blob'); + is($blob->content, "-----\nhello\nworld\n", 'raw blob passed'); +}); + +done_testing(); |