#!/usr/bin/env zunit @setup { 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 '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' { load "../auto-notify.plugin.zsh" assert '_auto_notify_track' in $preexec_functions assert '_auto_notify_send' in $precmd_functions } @test 'enable/disable auto-notify' { load "../auto-notify.plugin.zsh" disable_auto_notify assert '_auto_notify_track' not_in $preexec_functions assert '_auto_notify_send' not_in $precmd_functions enable_auto_notify assert '_auto_notify_track' in $preexec_functions assert '_auto_notify_send' in $precmd_functions }