diff options
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
Check the id before the page chrome resolves it
The chrome renders on an error page too, where the id had just been refused for using the wider revision syntax, and then looked it up anyway. A :/pattern id walks the whole history for a match.
Diffstat (limited to 'tests/t0303-robustness.sh')
-rwxr-xr-xtests/t0303-robustness.sh12
1 file changed, 12 insertions, 0 deletions
diff --git a/tests/t0303-robustness.sh b/tests/t0303-robustness.sh
index 005c6cd..05237c6 100755
--- a/tests/t0303-robustness.sh
+++ b/tests/t0303-robustness.sh
@@ -784,4 +784,16 @@ test_expect_success 'a readme past max-blob-size is reported on the about page'
grep "The readme is larger than max-blob-size (1 KB)" tmp
'
+# The chrome names a pinned commit in the title, and on an error page the id
+# that was just refused must not be looked up to get there, since the wider
+# revision syntax walks the whole history for a match.
+test_expect_success 'the error page does not resolve the id it refused' '
+ sha=$(git -C repos/rob rev-parse HEAD~1) &&
+ robq "url=rob/log/&id=$sha" >tmp &&
+ grep "<title>.* @ " tmp &&
+ robq "url=rob/log/&id=%3A/commit" >tmp &&
+ grep "^Status: 400" tmp &&
+ ! grep "<title>.* @ " tmp
+'
+
test_done