Diffstat (limited to 'tests/t0106-diff.sh')
| -rwxr-xr-x | tests/t0106-diff.sh | 148 |
1 files changed, 10 insertions, 138 deletions
diff --git a/tests/t0106-diff.sh b/tests/t0106-diff.sh index 0e45087..eee0c8c 100755 --- a/tests/t0106-diff.sh +++ b/tests/t0106-diff.sh @@ -1,148 +1,20 @@ #!/bin/sh -test_description='Check content on diff page' . ./setup.sh -test_expect_success 'generate foo/diff' 'cgit_url "foo/diff" >tmp' -test_expect_success 'find diff header' 'grep "a/file-5 b/file-5" tmp' -test_expect_success 'find blob link' 'grep "<a href=./foo/tree/file-5?id=" tmp' -test_expect_success 'find added file' 'grep "new file mode 100644" tmp' +prepare_tests "Check content on diff page" -test_expect_success 'find hunk header' ' - grep "<div class=.hunk.>@@ -0,0 +1 @@</div>" tmp -' - -test_expect_success 'find added line' ' - grep "<div class=.add.>+5</div>" tmp -' - -test_expect_success 'ref picker: from: select present' ' - grep "<select name=.id2." tmp -' - -test_expect_success 'ref picker: to: select present' ' - grep "<select name=.id." tmp -' - -test_expect_success 'ref picker: from: label present' ' - grep "from:" tmp -' - -test_expect_success 'ref picker: to: label present' ' - grep "to:" tmp -' - -test_expect_success 'ref pickers live in a separate refs panel' ' - grep "<b>diff refs</b>" tmp && - grep "<b>diff options</b>" tmp -' - -test_expect_success 'ref picker: master branch listed' ' - grep "master" tmp -' - -test_expect_success 'ref picker: auto-submit on change' ' - grep "onchange=.this.form.submit()." tmp -' - -test_expect_success 'flip link present' ' - grep "<a title=.swap from and to. class=.button. href=./foo/diff/?" tmp -' - -test_expect_success 'flip link swaps the default refs' ' - grep "/foo/diff/?id2=master&idoff=1" tmp -' - -test_expect_success 'compare two refs: foo/diff?id=master&id2=HEAD' ' - cgit_query "url=foo/diff&id=master&id2=HEAD" >tmp -' - -test_expect_success 'diff with explicit refs shows diffstat' ' - grep "diffstat" tmp -' - -test_expect_success 'diff with oid2 parameter uses it for old ref' ' - cgit_query "url=foo/diff&id=master&id2=HEAD" >tmp && - grep "from:" tmp -' - -test_expect_success 'ref picker: to: shows master when id=master' ' - cgit_query "url=foo/diff&id=master" >tmp && - grep "master" tmp -' - -test_expect_success 'ref picker: from: empty when no id2' ' - cgit_query "url=foo/diff" >tmp && - grep "<select name=.id2." tmp -' - -test_expect_success 'compare initial commit with HEAD' ' - root=$(git --git-dir="$PWD/repos/foo/.git" rev-list --max-parents=0 HEAD) && - cgit_query "url=foo/diff&id=HEAD&id2=$root" >tmp -' - -test_expect_success 'diff with HEAD and root shows content' ' - grep "diffstat" tmp -' - -test_expect_success 'flip link swaps explicit refs' ' - cgit_query "url=foo/diff&id=master&id2=HEAD" >tmp && - grep "/foo/diff/?id=HEAD&id2=master" tmp -' - -test_expect_success 'flip link omits id for a diff against a root commit' ' - root=$(git --git-dir="$PWD/repos/foo/.git" rev-list --max-parents=0 HEAD) && - cgit_query "url=foo/diff&id=$root" >tmp && - 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 -' +run_test 'generate foo/diff' 'cgit_url "foo/diff" >trash/tmp' +run_test 'find diff header' 'grep "a/file-5 b/file-5" trash/tmp' +run_test 'find blob link' 'grep "<a href=./foo/tree/file-5?id=" trash/tmp' +run_test 'find added file' 'grep "new file mode 100644" trash/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 +run_test 'find hunk header' ' + grep "<div class=.hunk.>@@ -0,0 +1 @@</div>" trash/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 +run_test 'find added line' ' + grep "<div class=.add.>+5</div>" trash/tmp ' -test_done +tests_done |