(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]}  )
)