#!/bin/sh | |
test_description='Test wacky input to git config' | |
. ./test-lib.sh | |
setup() { | |
(printf "[section]\n" && | |
printf " key = foo") >.git/config | |
} | |
check() { | |
echo "$2" >expected | |
git config --get "$1" >actual | |
test_cmp actual expected | |
} | |
test_expect_success 'modify same key' ' | |
setup && | |
git config section.key bar && | |
check section.key bar | |
' | |
test_expect_success 'add key in same section' ' | |
setup && | |
git config section.other bar && | |
check section.key foo && | |
check section.other bar | |
' | |
test_expect_success 'add key in different section' ' | |
setup && | |
git config section2.key bar && | |
check section.key foo && | |
check section2.key bar | |
' | |
SECTION="test.q\"s\\sq'sp e.key" | |
test_expect_success 'make sure git-config escapes section names properly' ' | |
git config "$SECTION" bar && | |
check "$SECTION" bar | |
' | |
test_done |