about summary refs log tree commit homepage
path: root/t/solver_git.t
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2023-01-13 04:01:32 +0000
committerEric Wong <e@80x24.org>2023-01-13 19:14:19 +0000
commit16f317f32bd5306d852b7d079b20cd0e4f2b4ff9 (patch)
treeaa6ca9a35cd488eca5ba75d3fb59f4a51b1208d6 /t/solver_git.t
parentd95ddf03cd437d6f5038f2ff21a9ef7efe93b056 (diff)
downloadpublic-inbox-16f317f32bd5306d852b7d079b20cd0e4f2b4ff9.tar.gz
We can't use 302 redirects at the /tree/ endpoint as originally
intended since "#n$LINENO" fragment links aren't preserved
across redirects (since clients don't typically send that part
of the URL in requests).

So we'll have to make sure we handle prefixes properly and show
trees directly.  Oh well :<  At least the history-aware 404
handling remains :>
Diffstat (limited to 't/solver_git.t')
-rw-r--r--t/solver_git.t14
1 files changed, 11 insertions, 3 deletions
diff --git a/t/solver_git.t b/t/solver_git.t
index 5519fa18..8faa7309 100644
--- a/t/solver_git.t
+++ b/t/solver_git.t
@@ -383,11 +383,19 @@ EOF
                 }
 
                 $res = $cb->(GET('/public-inbox/tree/'));
-                is($res->code, 302, 'got redirect');
+                is($res->code, 200, 'got 200 for root listing');
+                $got = $res->content;
+                like($got, qr/\bgit ls-tree\b/, 'ls-tree help shown');
+
                 $res = $cb->(GET('/public-inbox/tree/README'));
-                is($res->code, 302, 'got redirect for regular file');
+                is($res->code, 200, 'got 200 for regular file');
+                $got = $res->content;
+                like($got, qr/\bgit show\b/, 'git show help shown');
+
                 $res = $cb->(GET('/public-inbox/tree/Documentation'));
-                is($res->code, 302, 'got redirect for directory');
+                is($res->code, 200, 'got 200 for a directory');
+                $got = $res->content;
+                like($got, qr/\bgit ls-tree\b/, 'ls-tree help shown');
         };
         test_psgi(sub { $www->call(@_) }, $client);
         my $env = { PI_CONFIG => $cfgpath, TMPDIR => $tmpdir };