#!/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