diff options
author | Yang Tang <ytang@users.noreply.github.com> | 2018-10-12 18:29:50 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-12 18:29:50 +0300 |
commit | a98fa7ff54a0dc7b926deec99b69d5a0a0864a94 (patch) | |
tree | b35d3df1b0ad12324f4094af98a576c6c933571e /test/segments/context.spec | |
parent | 24bbbfc9bdbdc0666a53cd4a60a8b57551e9f0ca (diff) | |
parent | b16c0d51d65249f0fdea86cd12cd64f6f0643b7e (diff) |
Merge branch 'master' into fix-rprompt-icons-cut-off
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..07300370 --- /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{007} %F{000}world %k%F{007}%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{000} %F{003}%n@%m %k%F{000}%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{000} %F{003}%n@%m %k%F{000}%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{000} %F{003}%n@%m %k%F{000}%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{000} %F{003}xx %k%F{000}%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{000} %F{003}%n@%m %k%F{000}%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{000} %F{003}$(whoami) %k%F{000}%f " "$(build_left_prompt)" +} + +source shunit2/shunit2
\ No newline at end of file |