diff --git a/.travis.yml b/.travis.yml index 71aff690..4f2c7a39 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,4 +24,5 @@ script: - test/segments/dir.spec - test/segments/rust_version.spec - test/segments/go_version.spec + - test/segments/vcs.spec diff --git a/test/segments/vcs.spec b/test/segments/vcs.spec new file mode 100755 index 00000000..862067b7 --- /dev/null +++ b/test/segments/vcs.spec @@ -0,0 +1,77 @@ +#!/usr/bin/env zsh +#vim:ft=zsh ts=2 sw=2 sts=2 et fenc=utf-8 + +# Required for shunit2 to run correctly +setopt shwordsplit +SHUNIT_PARENT=$0 + +function setUp() { + export TERM="xterm-256color" + # Load Powerlevel9k + source powerlevel9k.zsh-theme +} + +function testColorOverridingForCleanStateWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs) + POWERLEVEL9K_VCS_CLEAN_FOREGROUND='cyan' + POWERLEVEL9K_VCS_CLEAN_BACKGROUND='white' + + FOLDER=/tmp/powerlevel9k-test/vcs-test + mkdir -p $FOLDER + cd $FOLDER + git init 1>/dev/null + + assertEquals "%K{white} %F{cyan} master %k%F{white}%f " "$(build_left_prompt)" + + cd - + rm -fr /tmp/powerlevel9k-test + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_VCS_CLEAN_FOREGROUND + unset POWERLEVEL9K_VCS_CLEAN_BACKGROUND +} + +function testColorOverridingForModifiedStateWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs) + POWERLEVEL9K_VCS_MODIFIED_FOREGROUND='red' + POWERLEVEL9K_VCS_MODIFIED_BACKGROUND='yellow' + + FOLDER=/tmp/powerlevel9k-test/vcs-test + mkdir -p $FOLDER + cd $FOLDER + git init 1>/dev/null + touch testfile + git add testfile + + assertEquals "%K{yellow} %F{red} master ✚ %k%F{yellow}%f " "$(build_left_prompt)" + + cd - + rm -fr /tmp/powerlevel9k-test + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_VCS_MODIFIED_FOREGROUND + unset POWERLEVEL9K_VCS_MODIFIED_BACKGROUND +} + +function testColorOverridingForUntrackedStateWorks() { + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(vcs) + POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND='cyan' + POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND='yellow' + + FOLDER=/tmp/powerlevel9k-test/vcs-test + mkdir -p $FOLDER + cd $FOLDER + git init 1>/dev/null + touch testfile + + assertEquals "%K{yellow} %F{cyan} master ? %k%F{yellow}%f " "$(build_left_prompt)" + + cd - + rm -fr /tmp/powerlevel9k-test + + unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + unset POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND + unset POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND +} + +source shunit2/source/2.1/src/shunit2