Merge branch 'maint'
[gitweb.git] / t / t4026-color.sh
index 63e423838f1025d74b830bf84629427defdb756a..2b32c4fbe67d9dc0a43fc7858ddd3ac400b6171f 100755 (executable)
@@ -45,14 +45,33 @@ test_expect_success 'fg bg attr...' '
        color "blue bold dim ul blink reverse" "[1;2;4;5;7;34m"
 '
 
+# note that nobold and nodim are the same code (22)
+test_expect_success 'attr negation' '
+       color "nobold nodim noul noblink noreverse" "[22;24;25;27m"
+'
+
 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"
+'
+
+test_expect_success '0-7 are aliases for basic ANSI color names' '
+       color "0 7" "[30;47m"
+'
+
 test_expect_success '256 colors' '
        color "254 bold 255" "[1;38;5;254;48;5;255m"
 '
 
+test_expect_success '24-bit colors' '
+       color "#ff00ff black" "[38;2;255;0;255;40m"
+'
+
 test_expect_success '"normal" yields no color at all"' '
        color "normal black" "[40m"
 '
@@ -92,9 +111,9 @@ test_expect_success 'unknown color slots are ignored (branch)' '
 '
 
 test_expect_success 'unknown color slots are ignored (status)' '
-       git config color.status.nosuchslotwilleverbedefined white || exit
-       git status
-       case $? in 0|1) : ok ;; *) false ;; esac
+       git config color.status.nosuchslotwilleverbedefined white &&
+       { git status; ret=$?; } &&
+       case $ret in 0|1) : ok ;; *) false ;; esac
 '
 
 test_done