94 lines
2.9 KiB
Text
94 lines
2.9 KiB
Text
#!/usr/bin/env zunit
|
|
|
|
@test 'ysu preexec functions are loaded by default' {
|
|
assert '_check_aliases' in $preexec_functions
|
|
assert '_check_git_aliases' in $preexec_functions
|
|
assert '_check_global_aliases' in $preexec_functions
|
|
assert '_flush_ysu_buffer' in $precmd_functions
|
|
}
|
|
|
|
@test 'ysu disable/enable functions' {
|
|
disable_you_should_use
|
|
assert '_check_aliases' not_in $preexec_functions
|
|
assert '_check_git_aliases' not_in $preexec_functions
|
|
assert '_check_global_aliases' not_in $preexec_functions
|
|
assert '_flush_ysu_buffer' not_in $precmd_functions
|
|
enable_you_should_use
|
|
assert '_check_aliases' in $preexec_functions
|
|
assert '_check_git_aliases' in $preexec_functions
|
|
assert '_check_global_aliases' in $preexec_functions
|
|
assert '_flush_ysu_buffer' in $precmd_functions
|
|
}
|
|
|
|
@test 'ysu message correct output' {
|
|
unset YSU_MESSAGE_FORMAT
|
|
run ysu_message "alias" "ls -l" "ll"
|
|
|
|
assert $state equals 0
|
|
|
|
expected="$(tput bold)$(tput setaf 3)Found existing alias for $(tput setaf 5)\"ls -l\"$(tput setaf 3). "
|
|
expected+="You should use: $(tput setaf 5)\"ll\"$(tput sgr0)"
|
|
|
|
assert "$output" same_as "$expected"
|
|
}
|
|
|
|
@test 'ysu message correct output 2' {
|
|
unset YSU_MESSAGE_FORMAT
|
|
run ysu_message "foobar" "2>/dev/null" "NE"
|
|
|
|
assert $state equals 0
|
|
|
|
expected="$(tput bold)$(tput setaf 3)Found existing foobar for $(tput setaf 5)\"2>/dev/null\"$(tput setaf 3). "
|
|
expected+="You should use: $(tput setaf 5)\"NE\"$(tput sgr0)"
|
|
|
|
assert "$output" same_as "$expected"
|
|
}
|
|
|
|
@test 'escapes \ and % correctly' {
|
|
unset YSU_MESSAGE_FORMAT
|
|
run ysu_message "alias" "printf '%s\\n'" "pf"
|
|
|
|
assert $state equals 0
|
|
|
|
expected="$(tput bold)$(tput setaf 3)Found existing alias for $(tput setaf 5)\"printf '%s\\n'\"$(tput setaf 3). "
|
|
expected+="You should use: $(tput setaf 5)\"pf\"$(tput sgr0)"
|
|
|
|
assert "$output" same_as "$expected"
|
|
}
|
|
|
|
@test 'ysu - _write_ysu_buffer after' {
|
|
unset YSU_MESSAGE_FORMAT
|
|
YSU_MESSAGE_POSITION="after"
|
|
_YSU_BUFFER=""
|
|
|
|
_write_ysu_buffer "hello world"
|
|
|
|
assert $state equals 0
|
|
|
|
assert "$output" is_empty
|
|
assert "$_YSU_BUFFER" same_as "hello world"
|
|
}
|
|
|
|
@test 'ysu message - custom message' {
|
|
export YSU_MESSAGE_FORMAT="Hi there %alias_type! %command <=> %alias"
|
|
run ysu_message "git alias" "tig" "t"
|
|
|
|
assert $state equals 0
|
|
assert "$output" same_as "Hi there git alias! tig <=> t"
|
|
}
|
|
|
|
@test 'ysu message - custom message 2' {
|
|
export YSU_MESSAGE_FORMAT="%alias is a %alias_type for %command"
|
|
run ysu_message "alias" "xdg-open" "xopen"
|
|
|
|
assert $state equals 0
|
|
assert "$output" same_as "xopen is a alias for xdg-open"
|
|
}
|
|
|
|
@test 'ysu message - custom message multiple usages' {
|
|
export YSU_MESSAGE_FORMAT="%alias %alias %command %command %alias_type %alias_type"
|
|
run ysu_message 'git alias' 'xpaste' 'xp'
|
|
|
|
assert $state equals 0
|
|
assert "$output" same_as "xp xp xpaste xpaste git alias git alias"
|
|
}
|