diff-highlight: test color config
We added configurable colors long ago in bca45fbc1f (diff-highlight: allow configurable colors, 2014-11-20), but never actually tested it. Since we'll be touching the color code in a moment, this is a good time to beef up the tests. Note that we cover both the highlight/reset style used by the default colors, as well as the normal/highlight style added by that commit (which was previously totally untested). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Jeff King committed
Mar 23, 2026 at 02:02 UTC
c6bc53ad95d5a7dda3d3a8b1bc984465c9024342
1 file changed
+28
contrib/diff-highlight/t/t9400-diff-highlight.sh
+28
index 4f3d55a26e..b38fe2196a 100755
--- a/contrib/diff-highlight/t/t9400-diff-highlight.sh
+++ b/contrib/diff-highlight/t/t9400-diff-highlight.sh
@@ -350,4 +350,32 @@ test_expect_success 'highlight diff that removes final newline' '
EOF
'
+test_expect_success 'configure set/reset colors' '
+ test_config color.diff-highlight.oldhighlight bold &&
+ test_config color.diff-highlight.oldreset nobold &&
+ test_config color.diff-highlight.newhighlight italic &&
+ test_config color.diff-highlight.newreset noitalic &&
+ echo "prefix a suffix" >a &&
+ echo "prefix b suffix" >b &&
+ dh_test a b <<-\EOF
+ @@ -1 +1 @@
+ -prefix <BOLD>a<NORMAL_INTENSITY> suffix
+ +prefix <ITALIC>b<NOITALIC> suffix
+ EOF
+'
+
+test_expect_success 'configure normal/highlight colors' '
+ test_config color.diff-highlight.oldnormal red &&
+ test_config color.diff-highlight.oldhighlight magenta &&
+ test_config color.diff-highlight.newnormal green &&
+ test_config color.diff-highlight.newhighlight yellow &&
+ echo "prefix a suffix" >a &&
+ echo "prefix b suffix" >b &&
+ dh_test a b <<-\EOF
+ @@ -1 +1 @@
+ <RED>-prefix <RESET><MAGENTA>a<RESET><RED> suffix<RESET>
+ <GREEN>+prefix <RESET><YELLOW>b<RESET><GREEN> suffix<RESET>
+ EOF
+'
+
test_done