74 lines
2.0 KiB
Bash
74 lines
2.0 KiB
Bash
|
#!/usr/bin/env zsh
|
||
|
|
||
|
# Required for shunit2 to run correctly
|
||
|
setopt shwordsplit
|
||
|
SHUNIT_PARENT=$0
|
||
|
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# SHUNIT2 HOOKS
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
oneTimeSetUp() {
|
||
|
export TERM="xterm-256color"
|
||
|
|
||
|
source "lib/hooks.zsh"
|
||
|
}
|
||
|
|
||
|
setUp() {
|
||
|
SPACESHIP_EXEC_TIME_SHOW=true
|
||
|
SPACESHIP_GIT_BRANCH_SHOW=true
|
||
|
}
|
||
|
|
||
|
tearDown() {
|
||
|
unset SPACESHIP_EXEC_TIME_SHOW
|
||
|
unset SPACESHIP_GIT_BRANCH_SHOW
|
||
|
}
|
||
|
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# TEST CASES
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
test_exec_time_preexec_hook() {
|
||
|
local EPOCHREALTIME='123456'
|
||
|
local expected="$EPOCHREALTIME"
|
||
|
|
||
|
# Hook call should call `date` and save time to $SPACESHIP_EXEC_TIME_start
|
||
|
spaceship_exec_time_start
|
||
|
|
||
|
assertEquals "should save starting time" "$expected" "$SPACESHIP_EXEC_TIME_start"
|
||
|
|
||
|
unset SPACESHIP_EXEC_TIME_start
|
||
|
|
||
|
SPACESHIP_EXEC_TIME_SHOW=false
|
||
|
spaceship_exec_time_start
|
||
|
assertNull "should not call hook" "$SPACESHIP_EXEC_TIME_start"
|
||
|
}
|
||
|
|
||
|
test_exec_time_precmd_hook() {
|
||
|
local date_start_mock='123'
|
||
|
local date_stop_mock='321'
|
||
|
local date_duration_mock='198'
|
||
|
local EPOCHREALTIME=$date_stop_mock
|
||
|
|
||
|
SPACESHIP_EXEC_TIME_start="$date_start_mock"
|
||
|
|
||
|
spaceship_exec_time_stop
|
||
|
assertEquals "should calculate duration" "$date_duration_mock" "$SPACESHIP_EXEC_TIME_duration"
|
||
|
assertNull "$SPACESHIP_EXEC_TIME_start"
|
||
|
|
||
|
spaceship_exec_time_stop
|
||
|
assertNull "should not calculate without starting time" "$SPACESHIP_EXEC_TIME_duration"
|
||
|
|
||
|
SPACESHIP_EXEC_TIME_SHOW=false
|
||
|
SPACESHIP_EXEC_TIME_start="$date_start_mock"
|
||
|
spaceship_exec_time_stop
|
||
|
assertNull "should not calculate duration" "$SPACESHIP_EXEC_TIME_duration"
|
||
|
}
|
||
|
|
||
|
# ------------------------------------------------------------------------------
|
||
|
# SHUNIT2
|
||
|
# Run tests with shunit2
|
||
|
# ------------------------------------------------------------------------------
|
||
|
|
||
|
source tests/shunit2/shunit2
|