summaryrefslogtreecommitdiff
path: root/t/t6300-for-each-ref.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2017-07-13 14:58:41 (GMT)
committerJunio C Hamano <gitster@pobox.com>2017-07-13 19:42:50 (GMT)
commit097b681baac3a5e9455c74e3072a458249691e40 (patch)
treefc7ea06a96e684f7ce2b1577a374b68cfb5ba889 /t/t6300-for-each-ref.sh
parent5d3d0681abb8f2bc2383ee7660cf2b02e89cdd07 (diff)
downloadgit-097b681baac3a5e9455c74e3072a458249691e40.zip
git-097b681baac3a5e9455c74e3072a458249691e40.tar.gz
git-097b681baac3a5e9455c74e3072a458249691e40.tar.bz2
t: use test_decode_color rather than literal ANSI codes
When we put literal ANSI terminal codes into our test scripts, it makes diffs on those scripts hard to read (the colors may be indistinguishable from diff coloring, or in the case of a reset, may not be visible at all). Some scripts get around this by including human-readable names and converting to literal codes with a git-config hack. This makes the actual code diffs look OK, but test_cmp output suffers from the same problem. Let's use test_decode_color instead, which turns the codes into obvious text tags. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/t6300-for-each-ref.sh')
-rwxr-xr-xt/t6300-for-each-ref.sh18
1 files changed, 8 insertions, 10 deletions
diff --git a/t/t6300-for-each-ref.sh b/t/t6300-for-each-ref.sh
index 834a9ed..7872a2f 100755
--- a/t/t6300-for-each-ref.sh
+++ b/t/t6300-for-each-ref.sh
@@ -412,20 +412,18 @@ test_expect_success 'Check for invalid refname format' '
test_must_fail git for-each-ref --format="%(refname:INVALID)"
'
-get_color ()
-{
- git config --get-color no.such.slot "$1"
-}
-
cat >expected <<EOF
-$(git rev-parse --short refs/heads/master) $(get_color green)master$(get_color reset)
-$(git rev-parse --short refs/remotes/origin/master) $(get_color green)origin/master$(get_color reset)
-$(git rev-parse --short refs/tags/testtag) $(get_color green)testtag$(get_color reset)
-$(git rev-parse --short refs/tags/two) $(get_color green)two$(get_color reset)
+$(git rev-parse --short refs/heads/master) <GREEN>master<RESET>
+$(git rev-parse --short refs/remotes/origin/master) <GREEN>origin/master<RESET>
+$(git rev-parse --short refs/tags/testtag) <GREEN>testtag<RESET>
+$(git rev-parse --short refs/tags/two) <GREEN>two<RESET>
EOF
test_expect_success 'Check %(color:...) ' '
- git for-each-ref --format="%(objectname:short) %(color:green)%(refname:short)" >actual &&
+ git for-each-ref \
+ --format="%(objectname:short) %(color:green)%(refname:short)" \
+ >actual.raw &&
+ test_decode_color <actual.raw >actual &&
test_cmp expected actual
'