summaryrefslogtreecommitdiff
path: root/t/t1300-config.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2018-05-08 06:59:27 (GMT)
committerJunio C Hamano <gitster@pobox.com>2018-05-08 06:59:27 (GMT)
commit00bb99c424e90b6533170a034b7cbc7ff2e85e50 (patch)
tree0a37a6794ca54fb31e3b35b0c2f31be2c542e825 /t/t1300-config.sh
parente3e042b185ce3037acb61382da53521ac0beebbf (diff)
parent63e2a0f8e9cc3d66137a72e424a8b59f1c4dbd79 (diff)
downloadgit-00bb99c424e90b6533170a034b7cbc7ff2e85e50.zip
git-00bb99c424e90b6533170a034b7cbc7ff2e85e50.tar.gz
git-00bb99c424e90b6533170a034b7cbc7ff2e85e50.tar.bz2
Merge branch 'tb/config-default'
"git config --get" learned the "--default" option, to help the calling script. Building on top of the tb/config-type topic, the "git config" learns "--type=color" type. Taken together, you can do things like "git config --get foo.color --default blue" and get the ANSI color sequence for the color given to foo.color variable, or "blue" if the variable does not exist. * tb/config-default: builtin/config: introduce `color` type specifier config.c: introduce 'git_config_color' to parse ANSI colors builtin/config: introduce `--default`
Diffstat (limited to 't/t1300-config.sh')
-rwxr-xr-xt/t1300-config.sh30
1 files changed, 30 insertions, 0 deletions
diff --git a/t/t1300-config.sh b/t/t1300-config.sh
index e7e6d07..03c2237 100755
--- a/t/t1300-config.sh
+++ b/t/t1300-config.sh
@@ -933,6 +933,36 @@ test_expect_success 'get --expiry-date' '
test_must_fail git config --expiry-date date.invalid1
'
+test_expect_success 'get --type=color' '
+ rm .git/config &&
+ git config foo.color "red" &&
+ git config --get --type=color foo.color >actual.raw &&
+ test_decode_color <actual.raw >actual &&
+ echo "<RED>" >expect &&
+ test_cmp expect actual
+'
+
+cat >expect << EOF
+[foo]
+ color = red
+EOF
+
+test_expect_success 'set --type=color' '
+ rm .git/config &&
+ git config --type=color foo.color "red" &&
+ test_cmp expect .git/config
+'
+
+test_expect_success 'get --type=color barfs on non-color' '
+ echo "[foo]bar=not-a-color" >.git/config &&
+ test_must_fail git config --get --type=color foo.bar
+'
+
+test_expect_success 'set --type=color barfs on non-color' '
+ test_must_fail git config --type=color foo.color "not-a-color" 2>error &&
+ test_i18ngrep "cannot parse color" error
+'
+
cat > expect << EOF
[quote]
leading = " test"