(List (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('test_description', {[SQ <LIT_CHARS "Test diff/status color escape codes">]})]) (Com {[LIT_CHARS .]} {[LIT_CHARS ./test-lib.sh]} ) (FunctionDef color [] (AndOr OP_AND_IF (= scope=<EAssignScope.GLOBAL 1> flags=0 words=[] bindings=[('actual', {[ComSub (Com {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --get-color]} {[LIT_CHARS no.such.slot]} {[DQ [VarSub 1]]})]})]) (Com {[LIT_CHARS test]} {[DQ [VarSub actual]]} {[LIT_DBRACKET_LIKE "="]} {[DQ [LIT_CHARS "\u001b"][VarSub 2]]} ) ) ) (FunctionDef invalid_color [] (Com {[LIT_CHARS test_must_fail]} {[LIT_CHARS git]} {[LIT_CHARS config]} {[LIT_CHARS --get-color]} {[LIT_CHARS no.such.slot]} {[DQ [VarSub 1]]} ) ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS reset>]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"reset\" \"[m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "attribute before color name">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"bold red\" \"[1;31m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "color name before attribute">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"red bold\" \"[1;31m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "attr fg bg">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"ul blue red\" \"[4;34;41m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "fg attr bg">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"blue ul red\" \"[4;34;41m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "fg bg attr">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"blue red ul\" \"[4;34;41m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "fg bg attr...">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"blue bold dim ul blink reverse\" \"[1;2;4;5;7;34m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "long color specification">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"254 255 bold dim ul blink reverse\" \"[1;2;4;5;7;38;5;254;48;5;255m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "256 colors">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tcolor \"254 bold 255\" \"[1;38;5;254;48;5;255m\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "color too small">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tinvalid_color \"-2\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "color too big">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tinvalid_color \"256\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "extra character after color number">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tinvalid_color \"3X\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "extra character after color name">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tinvalid_color \"redX\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "extra character after attribute">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tinvalid_color \"dimX\"\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "unknown color slots are ignored (diff)">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tgit config color.diff.nosuchslotwilleverbedefined white &&\n"> <LIT_CHARS "\tgit diff --color\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "unknown color slots are ignored (branch)">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tgit config color.branch.nosuchslotwilleverbedefined white &&\n"> <LIT_CHARS "\tgit branch -a\n">]} ) (Com {[LIT_CHARS test_expect_success]} {[SQ <LIT_CHARS "unknown color slots are ignored (status)">]} {[SQ <LIT_CHARS "\n"> <LIT_CHARS "\tgit config color.status.nosuchslotwilleverbedefined white || exit\n"> <LIT_CHARS "\tgit status\n"> <LIT_CHARS "\tcase $? in 0|1) : ok ;; *) false ;; esac\n">]} ) (Com {[LIT_CHARS test_done]} ) )