blob: 8b786c9048ab8b54c5d47daacaecebfb1ebdb496 (
plain) (
tree)
|
|
scriptDir="$(cd "$(dirname "$0")"; pwd)"
source "$scriptDir/radar-base.sh"
cd_to_tmp() {
tmpfile="/tmp/git-prompt-tests-$(time_now)$1"
mkdir -p "$tmpfile"
cd "$tmpfile"
}
rm_tmp() {
cd $scriptDir
rm -rf /tmp/git-prompt-tests*
}
unset_colours() {
export COLOR_REMOTE_AHEAD=""
export COLOR_REMOTE_BEHIND=""
export COLOR_REMOTE_DIVERGED=""
export COLOR_REMOTE_NOT_UPSTREAM=""
export COLOR_LOCAL_AHEAD=""
export COLOR_LOCAL_BEHIND=""
export COLOR_LOCAL_DIVERGED=""
export COLOR_CHANGES_STAGED=""
export COLOR_CHANGES_UNSTAGED=""
export COLOR_CHANGES_CONFLICTED=""
export COLOR_CHANGES_UNTRACKED=""
export COLOR_BRANCH=""
export MASTER_SYMBOL="m"
export RESET_COLOR_LOCAL=""
export RESET_COLOR_REMOTE=""
export RESET_COLOR_CHANGES=""
export RESET_COLOR_BRANCH=""
}
prepare_test_repo() {
cd_to_tmp "remote"
git init --quiet
touch README
git add .
git commit -m "initial commit" --quiet
origin="$(pwd)"
cd_to_tmp "new"
git init --quiet
git remote add origin $origin
git fetch origin --quiet
git checkout master --quiet
git checkout -b foo --quiet
git push --quiet -u origin foo >/dev/null
repo="$(pwd)"
cd "$origin"
echo "foo" > foo
git add .
git commit -m "remote commit" --quiet
cd "$repo"
echo "foo" > foo
git add .
git commit -m "local commit" --quiet
echo "foo" > bar
git fetch origin --quiet
}
test_all_options_set_config() {
prepare_test_repo
export GIT_RADAR_FORMAT="%{remote}%{branch}%{local}%{changes}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "$prompt" "m 1 → foo 1↑ 1A"
export GIT_RADAR_FORMAT="%{remote}%{branch}%{changes}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "$prompt" "m 1 → foo 1A"
export GIT_RADAR_FORMAT="%{branch}%{local}%{changes}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "$prompt" "foo 1↑ 1A"
export GIT_RADAR_FORMAT="%{branch}%{changes}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "$prompt" "foo 1A"
export GIT_RADAR_FORMAT="%{branch}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "$prompt" "foo"
rm_tmp
}
test_reorder_parts() {
prepare_test_repo
export GIT_RADAR_FORMAT="%{branch}%{local}%{changes}%{remote}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "foo 1↑ 1Am 1 → " "$prompt"
export GIT_RADAR_FORMAT="%{local}%{changes}%{remote}%{branch}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals " 1↑ 1Am 1 → foo" "$prompt"
export GIT_RADAR_FORMAT="%{changes}%{remote}%{branch}%{local}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals " 1Am 1 → foo 1↑" "$prompt"
rm_tmp
}
test_prefix_and_suffix_changes() {
prepare_test_repo
export GIT_RADAR_FORMAT="%{changes}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals " 1A" "$prompt"
export GIT_RADAR_FORMAT="%{[:changes:]}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "[ 1A]" "$prompt"
rm_tmp
}
test_prefix_and_suffix_local() {
prepare_test_repo
export GIT_RADAR_FORMAT="%{local}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals " 1↑" "$prompt"
export GIT_RADAR_FORMAT="%{[:local:]}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "[ 1↑]" "$prompt"
rm_tmp
}
test_prefix_and_suffix_branch() {
prepare_test_repo
export GIT_RADAR_FORMAT="%{branch}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "foo" "$prompt"
export GIT_RADAR_FORMAT="%{[:branch:]}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "[foo]" "$prompt"
rm_tmp
}
test_prefix_and_suffix_remote() {
prepare_test_repo
export GIT_RADAR_FORMAT="%{remote}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "m 1 → " "$prompt"
export GIT_RADAR_FORMAT="%{[:remote:]}"
prepare_zsh_colors
unset_colours
prompt="$(render_prompt)"
assertEquals "[m 1 → ]" "$prompt"
rm_tmp
}
. ./shunit/shunit2
|