--- t/t9903-bash-prompt.sh | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/t/t9903-bash-prompt.sh b/t/t9903-bash-prompt.sh index 97c9b32..4dce366 100755 --- a/t/t9903-bash-prompt.sh +++ b/t/t9903-bash-prompt.sh @@ -37,6 +37,11 @@ test_expect_success 'setup for prompt tests' ' git commit -m "yet another b2" file && mkdir ignored_dir && echo "ignored_dir/" >>.gitignore && + git checkout -b submodule && + git submodule add ./. sub && + git -C sub checkout master && + git add sub && + git commit -m submodule && git checkout master ' @@ -755,4 +760,42 @@ test_expect_success 'prompt - hide if pwd ignored - inside gitdir (stderr)' ' test_cmp expected "$actual" ' +test_expect_success 'prompt - submodule indicator' ' + printf " (sub:master)" >expected && + git checkout submodule && + test_when_finished "git checkout master" && + ( + cd sub && + GIT_PS1_SHOWSUBMODULE=1 && + __git_ps1 >"$actual" + ) && + test_cmp expected "$actual" +' + +test_expect_success 'prompt - submodule indicator - verify false' ' + printf " (master)" >expected && + git checkout submodule && + test_when_finished "git checkout master" && + ( + cd sub && + GIT_PS1_SHOWSUBMODULE= && + __git_ps1 >"$actual" + ) && + test_cmp expected "$actual" +' + +test_expect_success 'prompt - submodule indicator - dirty status indicator' ' + printf " (+sub:b1)" >expected && + git checkout submodule && + git -C sub checkout b1 && + test_when_finished "git checkout master" && + ( + cd sub && + GIT_PS1_SHOWSUBMODULE=1 && + __git_ps1 >"$actual" + ) && + test_cmp expected "$actual" +' + + test_done -- 2.7.4