1#!/bin/sh
   2test_description='Test wacky input to git config'
   4. ./test-lib.sh
   5setup() {
   7        (printf "[section]\n" &&
   8        printf "  key = foo") >.git/config
   9}
  10check() {
  12        echo "$2" >expected
  13        git config --get "$1" >actual
  14        test_cmp actual expected
  15}
  16test_expect_success 'modify same key' '
  18        setup &&
  19        git config section.key bar &&
  20        check section.key bar
  21'
  22test_expect_success 'add key in same section' '
  24        setup &&
  25        git config section.other bar &&
  26        check section.key foo &&
  27        check section.other bar
  28'
  29test_expect_success 'add key in different section' '
  31        setup &&
  32        git config section2.key bar &&
  33        check section.key foo &&
  34        check section2.key bar
  35'
  36SECTION="test.q\"s\\sq'sp e.key"
  38test_expect_success 'make sure git config escapes section names properly' '
  39        git config "$SECTION" bar &&
  40        check "$SECTION" bar
  41'
  42test_done