diff: stop allowing diff to have submodules configured in .git/config
[gitweb.git] / t / t4026-color.sh
index 2b32c4fbe67d9dc0a43fc7858ddd3ac400b6171f..671e951ee5498c7691c5e996c9dfd75dac3e8861 100755 (executable)
@@ -6,10 +6,11 @@
 test_description='Test diff/status color escape codes'
 . ./test-lib.sh
 
+ESC=$(printf '\033')
 color()
 {
        actual=$(git config --get-color no.such.slot "$1") &&
-       test "$actual" = "\e$2"
+       test "$actual" = "${2:+$ESC}$2"
 }
 
 invalid_color()
@@ -21,6 +22,10 @@ test_expect_success 'reset' '
        color "reset" "[m"
 '
 
+test_expect_success 'empty color is empty' '
+       color "" ""
+'
+
 test_expect_success 'attribute before color name' '
        color "bold red" "[1;31m"
 '
@@ -50,14 +55,19 @@ test_expect_success 'attr negation' '
        color "nobold nodim noul noblink noreverse" "[22;24;25;27m"
 '
 
+test_expect_success '"no-" variant of negation' '
+       color "no-bold no-blink" "[22;25m"
+'
+
 test_expect_success 'long color specification' '
        color "254 255 bold dim ul blink reverse" "[1;2;4;5;7;38;5;254;48;5;255m"
 '
 
 test_expect_success 'absurdly long color specification' '
        color \
-         "#ffffff #ffffff bold nobold dim nodim ul noul blink noblink reverse noreverse" \
-         "[1;2;4;5;7;22;24;25;27;38;2;255;255;255;48;2;255;255;255m"
+         "#ffffff #ffffff bold nobold dim nodim italic noitalic
+          ul noul blink noblink reverse noreverse strike nostrike" \
+         "[1;2;3;4;5;7;9;22;23;24;25;27;29;38;2;255;255;255;48;2;255;255;255m"
 '
 
 test_expect_success '0-7 are aliases for basic ANSI color names' '