Merge pull request #19 from MichaelAquilina/next

Release 0.6.0
This commit is contained in:
Michael Aquilina 2019-08-17 18:54:14 +03:00 committed by GitHub
commit 8aa4c42932
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 3 deletions

View file

@ -1,6 +1,10 @@
Changelog for zsh-auto-notify Changelog for zsh-auto-notify
============================= =============================
0.6.0
-----
* Display warning and disable auto-notify if notify-send is not installed (Linux only)
0.5.1 0.5.1
----- -----
* Improved handling of MacOS notifications via #16 (Thanks @dmitmel!) * Improved handling of MacOS notifications via #16 (Thanks @dmitmel!)

View file

@ -1,4 +1,4 @@
export AUTO_NOTIFY_VERSION="0.5.1" export AUTO_NOTIFY_VERSION="0.6.0"
# Time it takes for a notification to expire # Time it takes for a notification to expire
export AUTO_NOTIFY_EXPIRE_TIME=8000 export AUTO_NOTIFY_EXPIRE_TIME=8000
@ -122,4 +122,12 @@ function enable_auto_notify() {
} }
_auto_notify_reset_tracking _auto_notify_reset_tracking
enable_auto_notify
platform="$(uname)"
if [[ "$platform" == "Linux" ]] && ! type notify-send > /dev/null; then
printf "'notify-send' must be installed for zsh-auto-notify to work\n"
printf "Please install it with your relevant package manager\n"
else
enable_auto_notify
fi

View file

@ -1,23 +1,57 @@
#!/usr/bin/env zunit #!/usr/bin/env zunit
@setup { @setup {
load "../auto-notify.plugin.zsh" function uname {
printf "Linux"
}
# Mock function for passing builds where we don't
# really need notify-send to be installed (e.g. Mac OSX)
function notify-send {
}
} }
@test 'version exported' { @test 'version exported' {
git_version="$(git tag --list | sort -V | tail -1)" git_version="$(git tag --list | sort -V | tail -1)"
git tag --list git tag --list
load "../auto-notify.plugin.zsh"
assert "$AUTO_NOTIFY_VERSION" is_not_empty assert "$AUTO_NOTIFY_VERSION" is_not_empty
assert "$AUTO_NOTIFY_VERSION" same_as "$git_version" assert "$AUTO_NOTIFY_VERSION" same_as "$git_version"
} }
@test 'print warning if notify-send is not installed' {
function type {
return 1
}
run load "../auto-notify.plugin.zsh"
assert "$lines[1]" same_as "'notify-send' must be installed for zsh-auto-notify to work"
assert "$lines[2]" same_as "Please install it with your relevant package manager"
@test 'dont load auto-notify if notify-send is not installed' {
function type {
return 1
}
load "../auto-notify.plugin.zsh"
assert "_auto_notify_track" not_in $preexec_functions
assert "_auto_notify_send" not_in $precmd_functions
}
@test 'hook functions are loaded by default' { @test 'hook functions are loaded by default' {
load "../auto-notify.plugin.zsh"
assert '_auto_notify_track' in $preexec_functions assert '_auto_notify_track' in $preexec_functions
assert '_auto_notify_send' in $precmd_functions assert '_auto_notify_send' in $precmd_functions
} }
@test 'enable/disable auto-notify' { @test 'enable/disable auto-notify' {
load "../auto-notify.plugin.zsh"
disable_auto_notify disable_auto_notify
assert '_auto_notify_track' not_in $preexec_functions assert '_auto_notify_track' not_in $preexec_functions
assert '_auto_notify_send' not_in $precmd_functions assert '_auto_notify_send' not_in $precmd_functions