diff options
author | Dominik Ritter <dritter03@googlemail.com> | 2018-07-13 01:41:35 +0300 |
---|---|---|
committer | Dominik Ritter <dritter03@googlemail.com> | 2018-07-13 01:41:35 +0300 |
commit | d502d05f082038f93e155575dcf511f4eb867e47 (patch) | |
tree | 119ba07adfb2ee8c5ce3d5b21ea443a2cb79f3c3 /test/segments | |
parent | 8cd39beaade30a67c0fc4494b241293b65982cc8 (diff) |
Add tests for status segment
Diffstat (limited to 'test/segments')
-rwxr-xr-x | test/segments/status.spec | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/test/segments/status.spec b/test/segments/status.spec new file mode 100755 index 00000000..21bd65bb --- /dev/null +++ b/test/segments/status.spec @@ -0,0 +1,85 @@ +#!/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 + + ### Test specific + # Resets if someone has set these in his/hers env + unset POWERLEVEL9K_STATUS_VERBOSE + unset POWERLEVEL9K_STATUS_OK_IN_NON_VERBOSE +} + +function testStatusPrintsNothingIfReturnCodeIsZeroAndVerboseIsUnset() { + local POWERLEVEL9K_CUSTOM_WORLD='echo world' + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status custom_world) + local POWERLEVEL9K_STATUS_VERBOSE=false + local POWERLEVEL9K_STATUS_SHOW_PIPESTATUS=false + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" +} + +function testStatusWorksAsExpectedIfReturnCodeIsZeroAndVerboseIsSet() { + local POWERLEVEL9K_STATUS_VERBOSE=true + local POWERLEVEL9K_STATUS_SHOW_PIPESTATUS=false + local POWERLEVEL9K_STATUS_HIDE_SIGNAME=true + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status) + + assertEquals "%K{black} %F{green%}✔%f %k%F{black}%f " "$(build_left_prompt)" +} + +function testStatusInGeneralErrorCase() { + local RETVAL=1 + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status) + local POWERLEVEL9K_STATUS_VERBOSE=true + local POWERLEVEL9K_STATUS_SHOW_PIPESTATUS=false + + assertEquals "%K{red} %F{yellow1%}↵ %f%F{yellow1}1 %k%F{red}%f " "$(build_left_prompt)" +} + +function testPipestatusInErrorCase() { + local -a RETVALS + RETVALS=(0 0 1 0) + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status) + local POWERLEVEL9K_STATUS_VERBOSE=true + local POWERLEVEL9K_STATUS_SHOW_PIPESTATUS=true + + assertEquals "%K{red} %F{yellow1%}↵ %f%F{yellow1}0|0|1|0 %k%F{red}%f " "$(build_left_prompt)" +} + +function testStatusCrossWinsOverVerbose() { + local RETVAL=1 + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status) + local POWERLEVEL9K_STATUS_SHOW_PIPESTATUS=false + local POWERLEVEL9K_STATUS_VERBOSE=true + local POWERLEVEL9K_STATUS_CROSS=true + + assertEquals "%K{black} %F{red%}✘%f %k%F{black}%f " "$(build_left_prompt)" +} + +function testStatusShowsSignalNameInErrorCase() { + local RETVAL=132 + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status) + local POWERLEVEL9K_STATUS_SHOW_PIPESTATUS=false + local POWERLEVEL9K_STATUS_VERBOSE=true + local POWERLEVEL9K_STATUS_HIDE_SIGNAME=false + + assertEquals "%K{red} %F{yellow1%}↵ %f%F{yellow1}SIGILL(4) %k%F{red}%f " "$(build_left_prompt)" +} + +function testStatusSegmentIntegrated() { + local POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(status) + local POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=() + + false; powerlevel9k_prepare_prompts + + assertEquals "%f%b%k%K{black} %F{red%}✘%f %k%F{black}%f " "${(e)PROMPT}" +} + +source shunit2/source/2.1/src/shunit2
\ No newline at end of file |