about summary refs log tree commit homepage
path: root/t/plack.t
diff options
context:
space:
mode:
Diffstat (limited to 't/plack.t')
-rw-r--r--t/plack.t20
1 files changed, 20 insertions, 0 deletions
diff --git a/t/plack.t b/t/plack.t
index 1a719b41..14c9b657 100644
--- a/t/plack.t
+++ b/t/plack.t
@@ -220,6 +220,26 @@ EOF
                                 'redirect from x40 MIDs works');
                 }
         });
+
+        # dumb HTTP clone/fetch support
+        test_psgi($app, sub {
+                my ($cb) = @_;
+                my $path = '/test/info/refs';
+                my $req = HTTP::Request->new('GET' => $path);
+                my $res = $cb->($req);
+                is(200, $res->code, 'refs readable');
+                my $orig = $res->content;
+
+                $req->header('Range', 'bytes=5-10');
+                $res = $cb->($req);
+                is(206, $res->code, 'got partial response');
+                is($res->content, substr($orig, 5, 6), 'partial body OK');
+
+                $req->header('Range', 'bytes=5-');
+                $res = $cb->($req);
+                is(206, $res->code, 'got partial another response');
+                is($res->content, substr($orig, 5), 'partial body OK past end');
+        });
 }
 
 done_testing();