t / t3205-branch-color.shon commit git_config_set: reuse empty sections (c71d8bb)
   1#!/bin/sh
   2
   3test_description='basic branch output coloring'
   4. ./test-lib.sh
   5
   6test_expect_success 'set up some sample branches' '
   7        test_commit foo &&
   8        git update-ref refs/remotes/origin/master HEAD &&
   9        git update-ref refs/heads/other HEAD
  10'
  11
  12# choose non-default colors to make sure config
  13# is taking effect
  14test_expect_success 'set up some color config' '
  15        git config color.branch.local blue &&
  16        git config color.branch.remote yellow &&
  17        git config color.branch.current cyan
  18'
  19
  20test_expect_success 'regular output shows colors' '
  21        cat >expect <<-\EOF &&
  22        * <CYAN>master<RESET>
  23          <BLUE>other<RESET>
  24          <YELLOW>remotes/origin/master<RESET>
  25        EOF
  26        git branch --color -a >actual.raw &&
  27        test_decode_color <actual.raw >actual &&
  28        test_cmp expect actual
  29'
  30
  31test_expect_success 'verbose output shows colors' '
  32        oid=$(git rev-parse --short HEAD) &&
  33        cat >expect <<-EOF &&
  34        * <CYAN>master               <RESET> $oid foo
  35          <BLUE>other                <RESET> $oid foo
  36          <YELLOW>remotes/origin/master<RESET> $oid foo
  37        EOF
  38        git branch --color -v -a >actual.raw &&
  39        test_decode_color <actual.raw >actual &&
  40        test_cmp expect actual
  41'
  42
  43test_done