#!/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 "@@ -0,0 +1 @@" tmp ' test_expect_success 'find added line' ' grep "
+5
" tmp ' test_expect_success 'ref picker: from: select present' ' grep "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 ' 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