summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xtest-local-commit.sh73
1 files changed, 73 insertions, 0 deletions
diff --git a/test-local-commit.sh b/test-local-commit.sh
new file mode 100755
index 0000000..68fe467
--- /dev/null
+++ b/test-local-commit.sh
@@ -0,0 +1,73 @@
+scriptDir="$(cd "$(dirname "$0")"; pwd)"
+
+source "$scriptDir/git-base.sh"
+
+tmpfile=""
+
+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*
+}
+
+test_zsh_and_bash_local_commits() {
+ local zsh_up="%{[green]%}↑%{%}"
+ local zsh_both="%{[yellow]%}⇵%{%}"
+ local zsh_down="%{[red]%}↓%{%}"
+
+ printf -v bash_up '\033[1;32m↑\033[0m'
+ printf -v bash_both '\033[1;33m⇵\033[0m'
+ printf -v bash_down '\033[1;31m↓\033[0m'
+
+ cd_to_tmp "remote"
+
+ assertEquals "" "$(zsh_color_local_commits)"
+ assertEquals "" "$(bash_color_local_commits)"
+
+ git init --quiet
+ touch README
+ git add .
+ git commit -m "initial commit" --quiet
+ remote="$(pwd)"
+
+ cd_to_tmp "new"
+ git init --quiet
+ git remote add origin $remote
+ git fetch origin --quiet
+ git checkout master --quiet
+ repo="$(pwd)"
+
+ assertEquals "" "$(zsh_color_local_commits)"
+ assertEquals "" "$(bash_color_local_commits)"
+
+ cd "$repo"
+ echo "bar" > bar
+ git add .
+ git commit -m "test commit" --quiet
+
+ assertEquals " 1$zsh_up" "$(zsh_color_local_commits)"
+ assertEquals " 1$bash_up" "$(bash_color_local_commits)"
+
+ cd "$remote"
+ echo "foo" > foo
+ git add .
+ git commit -m "test commit" --quiet
+
+ cd "$repo"
+ git fetch origin --quiet
+
+ assertEquals " 1${zsh_both}1" "$(zsh_color_local_commits)"
+ assertEquals " 1${bash_both}1" "$(bash_color_local_commits)"
+
+ git reset --hard HEAD^ --quiet
+
+ assertEquals " 1$zsh_down" "$(zsh_color_local_commits)"
+ assertEquals " 1$bash_down" "$(bash_color_local_commits)"
+}
+
+. ./shunit/shunit2