diff options
author | Dominik Ritter <dritter03@googlemail.com> | 2018-08-06 01:17:23 +0300 |
---|---|---|
committer | Dominik Ritter <dritter03@googlemail.com> | 2018-08-06 01:17:23 +0300 |
commit | aca20ae4630e5ba7c1c1226b8c4570239133f06f (patch) | |
tree | 6c5cb038aa41105f248f341370fb6e508a0cbf7b /test/segments/context.spec | |
parent | 571a859413866897cf962396f02f65a288f677ac (diff) | |
parent | ba353caa989463204ad18498da854a9702112e70 (diff) |
Merge branch 'add_tests' into prepare_066
Diffstat (limited to 'test/segments/context.spec')
-rwxr-xr-x | test/segments/context.spec | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/test/segments/context.spec b/test/segments/context.spec new file mode 100755 index 00000000..49795668 --- /dev/null +++ b/test/segments/context.spec @@ -0,0 +1,113 @@ +#!/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" + + # Test specific settings + OLD_DEFAULT_USER=$DEFAULT_USER + unset DEFAULT_USER +} + +function tearDown() { + # Restore old variables + [[ -n "$OLD_DEFAULT_USER" ]] && DEFAULT_USER=$OLD_DEFAULT_USER + + return 0 +} + +function testContextSegmentDoesNotGetRenderedWithDefaultUser() { + local DEFAULT_USER=$(whoami) + local POWERLEVEL9K_CUSTOM_WORLD='echo world' + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context custom_world) + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{white} %F{black}world %k%F{white}%f " "$(build_left_prompt)" +} + +function testContextSegmentDoesGetRenderedWhenSshConnectionIsOpen() { + function sudo() { + return 0 + } + local SSH_CLIENT="putty" + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context) + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{black} %F{yellow}%n@%m %k%F{black}%f " "$(build_left_prompt)" + + unfunction sudo +} + +function testContextSegmentWithForeignUser() { + function sudo() { + return 0 + } + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context) + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{black} %F{yellow}%n@%m %k%F{black}%f " "$(build_left_prompt)" + + unfunction sudo +} + +# TODO: How to test root? +function testContextSegmentWithRootUser() { + startSkipping # Skip test + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context) + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{black} %F{yellow}%n@%m %k%F{black}%f " "$(build_left_prompt)" +} + +function testOverridingContextTemplate() { + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context) + local POWERLEVEL9K_CONTEXT_TEMPLATE=xx + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{black} %F{yellow}xx %k%F{black}%f " "$(build_left_prompt)" +} + +function testContextSegmentIsShownIfDefaultUserIsSetWhenForced() { + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context) + local POWERLEVEL9K_ALWAYS_SHOW_CONTEXT=true + local DEFAULT_USER=$(whoami) + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{black} %F{yellow}%n@%m %k%F{black}%f " "$(build_left_prompt)" +} + +function testContextSegmentIsShownIfForced() { + local -a POWERLEVEL9K_LEFT_PROMPT_ELEMENTS + POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(context) + local POWERLEVEL9K_ALWAYS_SHOW_USER=true + local DEFAULT_USER=$(whoami) + + # Load Powerlevel9k + source powerlevel9k.zsh-theme + + assertEquals "%K{black} %F{yellow}$(whoami) %k%F{black}%f " "$(build_left_prompt)" +} + +source shunit2/shunit2
\ No newline at end of file |