Skip to content

Commit

Permalink
Add test case for git-config-set
Browse files Browse the repository at this point in the history
... includes the mean tests I mentioned on the list.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Johannes Schindelin authored and Junio C Hamano committed Nov 20, 2005
1 parent 2d2465c commit 942c1f5
Showing 1 changed file with 180 additions and 0 deletions.
180 changes: 180 additions & 0 deletions t1300-config-set.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
#!/bin/sh
#
# Copyright (c) 2005 Johannes Schindelin
#

test_description='Test git-config-set in different settings'

. ./test-lib.sh

test -f .git/config && rm .git/config

git-config-set core.penguin "little blue"

cat > expect << EOF
#
# This is the config file
#
[core]
penguin = little blue
EOF

test_expect_success 'initial' 'cmp .git/config expect'

git-config-set Core.Movie BadPhysics

cat > expect << EOF
#
# This is the config file
#
[core]
penguin = little blue
Movie = BadPhysics
EOF

test_expect_success 'mixed case' 'cmp .git/config expect'

git-config-set Cores.WhatEver Second

cat > expect << EOF
#
# This is the config file
#
[core]
penguin = little blue
Movie = BadPhysics
[Cores]
WhatEver = Second
EOF

test_expect_success 'similar section' 'cmp .git/config expect'

git-config-set CORE.UPPERCASE true

cat > expect << EOF
#
# This is the config file
#
[core]
penguin = little blue
Movie = BadPhysics
UPPERCASE = true
[Cores]
WhatEver = Second
EOF

test_expect_success 'similar section' 'cmp .git/config expect'

cat > .git/config << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
haha ="beta" # last silly comment
[nextSection] noNewline = ouch
EOF

git-config-set beta.haha alpha

cat > expect << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
haha = alpha
[nextSection] noNewline = ouch
EOF

test_expect_success 'really mean test' 'cmp .git/config expect'

git-config-set nextsection.nonewline wow

cat > expect << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
haha = alpha
[nextSection]
nonewline = wow
EOF

test_expect_success 'really really mean test' 'cmp .git/config expect'

git-config-set beta.haha

cat > expect << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
[nextSection]
nonewline = wow
EOF

test_expect_success 'unset' 'cmp .git/config expect'

git-config-set nextsection.NoNewLine "wow2 for me" "for me$"

cat > expect << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
[nextSection]
nonewline = wow
NoNewLine = wow2 for me
EOF

test_expect_success 'multivar' 'cmp .git/config expect'

git-config-set nextsection.nonewline "wow3" "wow$"

cat > expect << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
[nextSection]
nonewline = wow3
NoNewLine = wow2 for me
EOF

test_expect_success 'multivar replace' 'cmp .git/config expect'

test_expect_failure 'ambiguous unset' \
'git-config-set --unset nextsection.nonewline'

test_expect_failure 'invalid unset' \
'git-config-set --unset somesection.nonewline'

git-config-set --unset nextsection.nonewline "wow3$"

cat > expect << EOF
[beta] ; silly comment # another comment
noIndent= sillyValue ; 'nother silly comment
# empty line
; comment
[nextSection]
NoNewLine = wow2 for me
EOF

test_expect_success 'multivar unset' 'cmp .git/config expect'

test_expect_failure 'invalid key' 'git-config-set inval.2key blabla'

test_expect_success 'correct key' 'git-config-set 123456.a123 987'

test_done

0 comments on commit 942c1f5

Please sign in to comment.