aboutsummaryrefslogtreecommitdiff
path: root/tests/t0106-diff.sh
diff refs
from: back
to: back
| flip
diff options
context:
space:
mode:
Diffstat (limited to 'tests/t0106-diff.sh')
-rwxr-xr-xtests/t0106-diff.sh55
1 files changed, 51 insertions, 4 deletions
diff --git a/tests/t0106-diff.sh b/tests/t0106-diff.sh
index 1100596..0e45087 100755
--- a/tests/t0106-diff.sh
+++ b/tests/t0106-diff.sh
@@ -50,8 +50,7 @@ test_expect_success 'flip link present' '
'
test_expect_success 'flip link swaps the default refs' '
- old=$(git --git-dir="$PWD/repos/foo/.git" rev-parse master~1) &&
- grep "/foo/diff/?id=$old&id2=master" tmp
+ grep "/foo/diff/?id2=master&idoff=1" tmp
'
test_expect_success 'compare two refs: foo/diff?id=master&id2=HEAD' '
@@ -88,8 +87,7 @@ test_expect_success 'diff with HEAD and root shows content' '
test_expect_success 'flip link swaps explicit refs' '
cgit_query "url=foo/diff&id=master&id2=HEAD" >tmp &&
- new=$(git --git-dir="$PWD/repos/foo/.git" rev-parse HEAD) &&
- grep "/foo/diff/?id=$new&id2=master" tmp
+ grep "/foo/diff/?id=HEAD&id2=master" tmp
'
test_expect_success 'flip link omits id for a diff against a root commit' '
@@ -98,4 +96,53 @@ test_expect_success 'flip link omits id for a diff against a root commit' '
grep "href=./foo/diff/?id2=$root." tmp
'
+test_expect_success 'offset input: to: present' '
+ grep "name=.idoff." tmp
+'
+
+test_expect_success 'offset input: from: present' '
+ grep "name=.id2off." tmp
+'
+
+test_expect_success 'apply button present' '
+ grep "value=.apply." tmp
+'
+
+test_expect_success 'offset: idoff steps back the to ref' '
+ cgit_query "url=foo/diff&id=master&idoff=1" >tmp &&
+ grep "a/file-4 b/file-4" tmp
+'
+
+test_expect_success 'offset: id2off steps back the from ref' '
+ cgit_query "url=foo/diff&id=master&id2=master&id2off=2" >tmp &&
+ grep "a/file-5 b/file-5" tmp
+'
+
+test_expect_success 'offset: filled input and hidden field' '
+ cgit_query "url=foo/diff&id=master&idoff=1" >tmp &&
+ grep "title=.N commits back from the selected ref. value=.1.>" tmp &&
+ grep "type=.hidden. name=.idoff. value=.1./>" tmp
+'
+
+test_expect_success 'offset: too large 404s with the stepped rev' '
+ cgit_query "url=foo/diff&id=master&id2=master&id2off=9" >tmp &&
+ grep "Bad object name: master~9" tmp
+'
+
+test_expect_success 'empty id2 does not 404' '
+ cgit_query "url=foo/diff&id=master&id2=" >tmp &&
+ grep "diffstat" tmp &&
+ ! grep "Bad object name" tmp
+'
+
+test_expect_success 'file link carries the offsets' '
+ cgit_query "url=foo/diff&id=master&id2=master&id2off=2" >tmp &&
+ grep "/foo/diff/file-5?id2=master&id2off=2" tmp
+'
+
+test_expect_success 'flip link carries the offsets' '
+ cgit_query "url=foo/diff&id=master&id2=master&idoff=1&id2off=2" >tmp &&
+ grep "/foo/diff/?id2=master&idoff=2&id2off=1" tmp
+'
+
test_done