Signed-off-by: Brian Henderson <henderson.bj@xxxxxxxxx> --- contrib/diff-highlight/t/t9400-diff-highlight.sh | 13 +++++++ contrib/diff-highlight/t/test-diff-highlight.sh | 43 ++++++++++++++++++++++++ 2 files changed, 56 insertions(+) diff --git a/contrib/diff-highlight/t/t9400-diff-highlight.sh b/contrib/diff-highlight/t/t9400-diff-highlight.sh index 8eff178..39707c6 100755 --- a/contrib/diff-highlight/t/t9400-diff-highlight.sh +++ b/contrib/diff-highlight/t/t9400-diff-highlight.sh @@ -59,4 +59,17 @@ test_expect_success 'diff-highlight does not highlight mismatched hunk size' ' # TODO add multi-byte test +test_expect_success 'diff-highlight highlights the beginning of a line' ' + dh_graph_test \ + "aaa\nbbb\nccc\n" \ + "aaa\n0bb\nccc\n" \ + "aaa\nb0b\nccc\n" \ +" + aaa +-${CW}b${CR}bb ++${CW}0${CR}bb + ccc +" +' + test_done diff --git a/contrib/diff-highlight/t/test-diff-highlight.sh b/contrib/diff-highlight/t/test-diff-highlight.sh index 38323e8..67f742c 100644 --- a/contrib/diff-highlight/t/test-diff-highlight.sh +++ b/contrib/diff-highlight/t/test-diff-highlight.sh @@ -64,6 +64,49 @@ dh_commit_test() { test_cmp commit.exp commit.act } +dh_graph_test() { + a="$1" b="$2" c="$3" + + { + printf "$a" >file + git add file + git commit -m"Add a file" + + printf "$b" >file + git commit -am"Update a file" + + git checkout -b branch + printf "$c" >file + git commit -am"Update a file on branch" + + git checkout master + printf "$a" >file + git commit -am"Update a file again" + + git checkout branch + printf "$b" >file + git commit -am"Update a file similar to master" + + git merge master + git checkout master + git merge branch --no-ff + } >/dev/null 2>&1 + + git log -p --graph --no-merges >graph.raw + + # git log --graph orders the commits different than git log so we hack it by + # using sed to remove the graph part. We know from other tests, that DIFF_HIGHLIGHT + # works without the graph, so there should be no diff when running it with + # and without. + <graph.raw sed -e 's"^\(*\|| \||/\)\+""' -e 's"^ ""' | "$DIFF_HIGHLIGHT" >graph.exp + <graph.raw "$DIFF_HIGHLIGHT" | sed -e 's"^\(*\|| \||/\)\+""' -e 's"^ ""' >graph.act && + + test -s graph.act && + # ignore whitespace since we're using a hacky sed command to remove the graph + # parts. + git diff -b --no-index graph.exp graph.act +} + test_chomp_eof() { perl -pe 'chomp if eof' } -- 2.9.0 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html