|
|
|
|
#!/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 mockGo() {
|
|
|
|
|
case "$1" in
|
|
|
|
|
'version')
|
|
|
|
|
echo 'go version go1.5.3 darwin/amd64'
|
|
|
|
|
;;
|
|
|
|
|
'env')
|
|
|
|
|
echo "$HOME/go"
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function mockGoEmptyGopath() {
|
|
|
|
|
case "$1" in
|
|
|
|
|
'version')
|
|
|
|
|
echo 'go version go1.5.3 darwin/amd64'
|
|
|
|
|
;;
|
|
|
|
|
'env')
|
|
|
|
|
echo ""
|
|
|
|
|
;;
|
|
|
|
|
esac
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testGo() {
|
|
|
|
|
alias go=mockGo
|
|
|
|
|
POWERLEVEL9K_GO_ICON=""
|
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(go_version)
|
|
|
|
|
|
|
|
|
|
PWD="$HOME/go/src/github.com/bhilburn/powerlevel9k"
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{green} %F{255%}%f %F{255}go1.5.3 %k%F{green}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_GO_ICON
|
|
|
|
|
unset PWD
|
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
unalias go
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testGoSegmentPrintsNothingIfEmptyGopath() {
|
|
|
|
|
alias go=mockGoEmptyGopath
|
|
|
|
|
POWERLEVEL9K_CUSTOM_WORLD='echo world'
|
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world go_version)
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
unset POWERLEVEL9K_CUSTOM_WORLD
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testGoSegmentPrintsNothingIfNotInGopath() {
|
|
|
|
|
alias go=mockGo
|
|
|
|
|
POWERLEVEL9K_CUSTOM_WORLD='echo world'
|
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world go_version)
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
unset POWERLEVEL9K_CUSTOM_WORLD
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function testGoSegmentPrintsNothingIfGoIsNotAvailable() {
|
|
|
|
|
alias go=noGo
|
|
|
|
|
POWERLEVEL9K_CUSTOM_WORLD='echo world'
|
|
|
|
|
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(custom_world go_version)
|
|
|
|
|
|
|
|
|
|
assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)"
|
|
|
|
|
|
|
|
|
|
unset POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
|
|
|
|
|
unset POWERLEVEL9K_CUSTOM_WORLD
|
|
|
|
|
unalias go
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
source shunit2/source/2.1/src/shunit2
|