diff options
context:
space:
mode:
authorBryce Kwon <bryce@brycekwon.com>
committerBryce Kwon <bryce@brycekwon.com>
commit
parent
tree
download
Tidy the test comments and shell portability
Diffstat (limited to '')
-rwxr-xr-xtests/t0106-diff.sh32
1 file changed, 20 insertions, 12 deletions
diff --git a/tests/t0106-diff.sh b/tests/t0106-diff.sh
index 4074276..175f609 100755
--- a/tests/t0106-diff.sh
+++ b/tests/t0106-diff.sh
@@ -1,5 +1,12 @@
#!/bin/sh
+# The diff page renders the change a commit made, either as unified text or,
+# when dt=1 asks for it, as a side by side table. The first checks read the
+# markup for one added file in the repository the shared setup builds. The
+# rest build small repositories of their own, shaped so the side by side
+# renderer meets the two cases it used to get wrong, a hunk covering a single
+# line and a file where every line changed.
+
test_description='Check content on diff page'
. ./setup.sh
@@ -16,10 +23,10 @@ test_expect_success 'find added line' '
grep "<div class=.add.>+5</div>" tmp
'
-# --- Side-by-side line numbers for a hunk that covers a single line ---------
-# git writes the length only when a hunk spans more than one line, so a header
-# reads "@@ -1 +1 @@". Requiring a comma after the number left those hunks
-# numbered from zero, which dropped the line-number link entirely.
+# git writes a hunk length only when the hunk spans more than one line, so the
+# header for a single line reads "@@ -1 +1 @@" with no comma in it. Requiring
+# that comma left those hunks numbered from zero, which dropped the line
+# number link altogether.
test_expect_success 'set up a repo with single-line hunks' '
mkrepo repos/hunk1 1 &&
(
@@ -51,10 +58,11 @@ test_expect_success 'ssdiff still numbers a hunk that carries a length' '
grep "#n1.>1</a>" tmp
'
-# --- Intra-line highlighting across many changed pairs ----------------------
-# The character-level highlight reuses one table across every changed pair.
-# Lines shrink down the file so a short comparison always follows a longer one,
-# which is where a stale cell would show up as misplaced del and add spans.
+# The character level highlight reuses one table across every changed pair, so
+# these lines get shorter as the file goes on and each comparison is smaller
+# than the one before it. That is where a cell left over from the previous
+# pair shows itself, as a del or an add span sitting over the wrong
+# characters.
test_expect_success 'set up a repo with shrinking changed lines' '
mkrepo repos/lcs 1 &&
(
@@ -78,10 +86,10 @@ test_expect_success 'set up a repo with shrinking changed lines' '
test_expect_success 'every changed pair gets both a del and an add span' '
CGIT_CONFIG="$PWD/lcsrc" QUERY_STRING="url=lcs/diff/&dt=1" cgit >tmp &&
- dels=$(grep -o "<span class=.del.>" tmp | wc -l) &&
- adds=$(grep -o "<span class=.add.>" tmp | wc -l) &&
- test "$dels" -gt 0 &&
- test "$dels" -eq "$adds"
+ deletions=$(grep -o "<span class=.del.>" tmp | wc -l) &&
+ additions=$(grep -o "<span class=.add.>" tmp | wc -l) &&
+ test "$deletions" -gt 0 &&
+ test "$deletions" -eq "$additions"
'
test_expect_success 'stripping the highlight leaves every line intact' '