@@ -35,6 +35,8 @@ test_expect_success 'setup for prompt tests' '
3535 git commit -m "another b2" file &&
3636 echo 000 >file &&
3737 git commit -m "yet another b2" file &&
38+ mkdir ignored_dir &&
39+ echo "ignored_dir/" >>.gitignore &&
3840 git checkout master
3941'
4042
@@ -588,4 +590,108 @@ test_expect_success 'prompt - zsh color pc mode' '
588590 test_cmp expected "$actual"
589591'
590592
593+ test_expect_success ' prompt - hide if pwd ignored - env var unset, config disabled' '
594+ printf " (master)" >expected &&
595+ test_config bash.hideIfPwdIgnored false &&
596+ (
597+ cd ignored_dir &&
598+ __git_ps1 >"$actual"
599+ ) &&
600+ test_cmp expected "$actual"
601+ '
602+
603+ test_expect_success ' prompt - hide if pwd ignored - env var unset, config disabled, pc mode' '
604+ printf "BEFORE: (\${__git_ps1_branch_name}):AFTER" >expected &&
605+ test_config bash.hideIfPwdIgnored false &&
606+ (
607+ cd ignored_dir &&
608+ __git_ps1 "BEFORE:" ":AFTER" &&
609+ printf "%s" "$PS1" >"$actual"
610+ ) &&
611+ test_cmp expected "$actual"
612+ '
613+
614+ test_expect_success ' prompt - hide if pwd ignored - env var unset, config unset' '
615+ printf " (master)" >expected &&
616+ (
617+ cd ignored_dir &&
618+ __git_ps1 >"$actual"
619+ ) &&
620+ test_cmp expected "$actual"
621+ '
622+
623+ test_expect_success ' prompt - hide if pwd ignored - env var unset, config unset, pc mode' '
624+ printf "BEFORE: (\${__git_ps1_branch_name}):AFTER" >expected &&
625+ (
626+ cd ignored_dir &&
627+ __git_ps1 "BEFORE:" ":AFTER" &&
628+ printf "%s" "$PS1" >"$actual"
629+ ) &&
630+ test_cmp expected "$actual"
631+ '
632+
633+ test_expect_success ' prompt - hide if pwd ignored - env var set, config disabled' '
634+ printf " (master)" >expected &&
635+ test_config bash.hideIfPwdIgnored false &&
636+ (
637+ cd ignored_dir &&
638+ GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
639+ __git_ps1 >"$actual"
640+ ) &&
641+ test_cmp expected "$actual"
642+ '
643+
644+ test_expect_success ' prompt - hide if pwd ignored - env var set, config disabled, pc mode' '
645+ printf "BEFORE: (\${__git_ps1_branch_name}):AFTER" >expected &&
646+ test_config bash.hideIfPwdIgnored false &&
647+ (
648+ cd ignored_dir &&
649+ GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
650+ __git_ps1 "BEFORE:" ":AFTER" &&
651+ printf "%s" "$PS1" >"$actual"
652+ ) &&
653+ test_cmp expected "$actual"
654+ '
655+
656+ test_expect_success ' prompt - hide if pwd ignored - env var set, config unset' '
657+ printf "" >expected &&
658+ (
659+ cd ignored_dir &&
660+ GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
661+ __git_ps1 >"$actual"
662+ ) &&
663+ test_cmp expected "$actual"
664+ '
665+
666+ test_expect_success ' prompt - hide if pwd ignored - env var set, config unset, pc mode' '
667+ printf "BEFORE::AFTER" >expected &&
668+ (
669+ cd ignored_dir &&
670+ GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
671+ __git_ps1 "BEFORE:" ":AFTER" &&
672+ printf "%s" "$PS1" >"$actual"
673+ ) &&
674+ test_cmp expected "$actual"
675+ '
676+
677+ test_expect_success ' prompt - hide if pwd ignored - inside gitdir (stdout)' '
678+ printf " (GIT_DIR!)" >expected &&
679+ (
680+ GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
681+ cd .git &&
682+ __git_ps1 >"$actual" 2>/dev/null
683+ ) &&
684+ test_cmp expected "$actual"
685+ '
686+
687+ test_expect_success ' prompt - hide if pwd ignored - inside gitdir (stderr)' '
688+ printf "" >expected &&
689+ (
690+ GIT_PS1_HIDE_IF_PWD_IGNORED=y &&
691+ cd .git &&
692+ __git_ps1 >/dev/null 2>"$actual"
693+ ) &&
694+ test_cmp expected "$actual"
695+ '
696+
591697test_done
0 commit comments