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.sh75
1 files changed, 65 insertions, 10 deletions
diff --git a/tests/t0106-diff.sh b/tests/t0106-diff.sh
index eee0c8c..0c167d4 100755
--- a/tests/t0106-diff.sh
+++ b/tests/t0106-diff.sh
@@ -1,20 +1,75 @@
#!/bin/sh
+test_description='Check content on diff page'
. ./setup.sh
-prepare_tests "Check content on diff page"
+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'
-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 '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 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 '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
+'
-run_test 'find hunk header' '
- grep "<div class=.hunk.>@@ -0,0 +1 @@</div>" trash/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
'
-run_test 'find added line' '
- grep "<div class=.add.>+5</div>" trash/tmp
+test_expect_success 'diff with HEAD and root shows content' '
+ grep "diffstat" tmp
'
-tests_done
+test_done