80 lines
2.1 KiB
Bash
80 lines
2.1 KiB
Bash
#!/usr/bin/env zsh
|
|
|
|
# Required for shunit2 to run correctly
|
|
setopt shwordsplit
|
|
SHUNIT_PARENT=$0
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SHUNIT2 HOOKS
|
|
# ------------------------------------------------------------------------------
|
|
|
|
oneTimeSetUp() {
|
|
export TERM="xterm-256color"
|
|
export PATH=$PWD/tests/stubs:$PATH
|
|
|
|
SPACESHIP_PROMPT_ASYNC=false
|
|
SPACESHIP_PROMPT_FIRST_PREFIX_SHOW=true
|
|
SPACESHIP_PROMPT_ADD_NEWLINE=false
|
|
SPACESHIP_PROMPT_ORDER=(gnu_screen)
|
|
|
|
source "spaceship.zsh"
|
|
}
|
|
|
|
setUp() {
|
|
SPACESHIP_GNU_SCREEN_SHOW="true"
|
|
SPACESHIP_GNU_SCREEN_PREFIX="via "
|
|
SPACESHIP_GNU_SCREEN_SUFFIX=" "
|
|
SPACESHIP_GNU_SCREEN_SYMBOL="💻 "
|
|
SPACESHIP_GNU_SCREEN_COLOR="yellow"
|
|
|
|
cd $SHUNIT_TMPDIR
|
|
}
|
|
|
|
oneTimeTearDown() {
|
|
unset SPACESHIP_PROMPT_FIRST_PREFIX_SHOW
|
|
unset SPACESHIP_PROMPT_ADD_NEWLINE
|
|
unset SPACESHIP_PROMPT_ORDER
|
|
}
|
|
|
|
tearDown() {
|
|
unset IN_NIX_SHELL
|
|
unset SPACESHIP_GNU_SCREEN_SHOW
|
|
unset SPACESHIP_GNU_SCREEN_PREFIX
|
|
unset SPACESHIP_GNU_SCREEN_SUFFIX
|
|
unset SPACESHIP_GNU_SCREEN_SYMBOL
|
|
unset SPACESHIP_GNU_SCREEN_COLOR
|
|
}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# TEST CASES
|
|
# ------------------------------------------------------------------------------
|
|
|
|
test_gnu_screen_no_bin() {
|
|
local no_bin_expected=""
|
|
local no_bin_actual="$(spaceship::testkit::render_prompt)"
|
|
assertEquals "should not render without nix shell" "$no_bin_expected" "$no_bin_actual"
|
|
}
|
|
|
|
test_gnu_screen_env() {
|
|
screen() {}
|
|
STY='1234.spaceship'
|
|
|
|
local env_expected=(
|
|
"%{%B%}$SPACESHIP_GNU_SCREEN_PREFIX%{%b%}"
|
|
"%{%B%F{$SPACESHIP_GNU_SCREEN_COLOR}%}"
|
|
"$SPACESHIP_GNU_SCREEN_SYMBOL"
|
|
"$STY"
|
|
"%{%b%f%}"
|
|
"%{%B%}$SPACESHIP_GNU_SCREEN_SUFFIX%{%b%}"
|
|
)
|
|
local env_actual="$(spaceship::testkit::render_prompt)"
|
|
assertEquals "should render with nix shell" "${(j::)env_expected}" "$env_actual"
|
|
}
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SHUNIT2
|
|
# Run tests with shunit2
|
|
# ------------------------------------------------------------------------------
|
|
|
|
source tests/shunit2/shunit2
|