status: show 'revert' state and status hint
[gitweb.git] / t / t9903-bash-prompt.sh
index f17c1f8b85b3fa1ace61a1d8877844dcef5080d0..2101d914f2d34d28b05ce17982a24c0b008809af 100755 (executable)
@@ -360,7 +360,31 @@ test_expect_success 'prompt - dirty status indicator - before root commit' '
        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 &&
+       echo "dirty" > file &&
+       test_when_finished "git reset --hard" &&
+       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" &&
@@ -372,6 +396,18 @@ test_expect_success 'prompt - dirty status indicator - disabled by config' '
        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 > "$actual"
+       ) &&
+       test_cmp expected "$actual"
+'
+
 test_expect_success 'prompt - dirty status indicator - not shown inside .git directory' '
        printf " (GIT_DIR!)" > expected &&
        echo "dirty" > file &&
@@ -437,6 +473,46 @@ test_expect_success 'prompt - untracked files status indicator - untracked files
        test_cmp expected "$actual"
 '
 
+test_expect_success 'prompt - untracked files status indicator - shell variable unset with config disabled' '
+       printf " (master)" > expected &&
+       test_config bash.showUntrackedFiles false &&
+       (
+               sane_unset GIT_PS1_SHOWUNTRACKEDFILES &&
+               __git_ps1 > "$actual"
+       ) &&
+       test_cmp expected "$actual"
+'
+
+test_expect_success 'prompt - untracked files status indicator - shell variable unset with config enabled' '
+       printf " (master)" > expected &&
+       test_config bash.showUntrackedFiles true &&
+       (
+               sane_unset GIT_PS1_SHOWUNTRACKEDFILES &&
+               __git_ps1 > "$actual"
+       ) &&
+       test_cmp expected "$actual"
+'
+
+test_expect_success 'prompt - untracked files status indicator - shell variable set with config disabled' '
+       printf " (master)" > expected &&
+       test_config bash.showUntrackedFiles false &&
+       (
+               GIT_PS1_SHOWUNTRACKEDFILES=y &&
+               __git_ps1 > "$actual"
+       ) &&
+       test_cmp expected "$actual"
+'
+
+test_expect_success 'prompt - untracked files status indicator - shell variable set with config enabled' '
+       printf " (master %%)" > expected &&
+       test_config bash.showUntrackedFiles true &&
+       (
+               GIT_PS1_SHOWUNTRACKEDFILES=y &&
+               __git_ps1 > "$actual"
+       ) &&
+       test_cmp expected "$actual"
+'
+
 test_expect_success 'prompt - untracked files status indicator - not shown inside .git directory' '
        printf " (GIT_DIR!)" > expected &&
        (