t9903: add extra tests for bash.showDirtyState

Add 3 extra tests for the bash.showDirtyState config option; the
tests now cover all combinations of the shell var being set/unset
and the config option being missing/enabled/disabled, given a dirty
file.

Signed-off-by: Martin Erik Werner <martinerikwerner@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Martin Erik Werner 2013-02-13 21:58:19 +01:00 committed by Junio C Hamano
parent 58978e822c
commit dc7e7bced4

View File

@ -360,11 +360,47 @@ test_expect_success 'prompt - dirty status indicator - before root commit' '
test_cmp expected "$actual" test_cmp expected "$actual"
' '
test_expect_success 'prompt - dirty status indicator - disabled by config' ' test_expect_success 'prompt - dirty status indicator - shell variable unset with config disabled' '
printf " (master)" > expected && printf " (master)" > expected &&
echo "dirty" > file && echo "dirty" > file &&
test_when_finished "git reset --hard" && test_when_finished "git reset --hard" &&
test_config bash.showDirtyState false && test_config bash.showDirtyState false &&
(
sane_unset GIT_PS1_SHOWDIRTYSTATE &&
__git_ps1 > "$actual"
) &&
test_cmp expected "$actual"
'
test_expect_success 'prompt - dirty status indicator - shell variable unset with config enabled' '
printf " (master)" > expected &&
echo "dirty" > file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState true &&
(
sane_unset GIT_PS1_SHOWDIRTYSTATE &&
__git_ps1 > "$actual"
) &&
test_cmp expected "$actual"
'
test_expect_success 'prompt - dirty status indicator - shell variable set with config disabled' '
printf " (master)" > expected &&
echo "dirty" > file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState false &&
(
GIT_PS1_SHOWDIRTYSTATE=y &&
__git_ps1 > "$actual"
) &&
test_cmp expected "$actual"
'
test_expect_success 'prompt - dirty status indicator - shell variable set with config enabled' '
printf " (master *)" > expected &&
echo "dirty" > file &&
test_when_finished "git reset --hard" &&
test_config bash.showDirtyState true &&
( (
GIT_PS1_SHOWDIRTYSTATE=y && GIT_PS1_SHOWDIRTYSTATE=y &&
__git_ps1 > "$actual" __git_ps1 > "$actual"