diff --git a/regress/hooks.sh b/regress/hooks.sh index e1d75bf67..e99b2e768 100644 --- a/regress/hooks.sh +++ b/regress/hooks.sh @@ -86,6 +86,19 @@ echo "$shown" | grep -q '^session-created\[0\]' || echo "$shown" | grep -q '^session-created\[1\]' || fail "missing second array item: $shown" +# User hooks are options, but show-hooks should list only registered @ hooks +# and not ordinary user options. +$TMUX set -g @not-a-hook value || fail "set @not-a-hook failed" +$TMUX set-hook -g @user-hook 'lsk' || + fail "set-hook @user-hook failed" +shown=$($TMUX show-hooks -g) || + fail "show-hooks -g all failed" +echo "$shown" | grep -q '^@user-hook lsk$' || + fail "missing user hook: $shown" +if echo "$shown" | grep -q '^@not-a-hook '; then + fail "show-hooks listed user option: $shown" +fi + # Unsetting removes the whole hook. $TMUX set-hook -gu session-created || fail "set-hook -gu failed" shown=$($TMUX show-hooks -g session-created) || diff --git a/regress/set-hook-B.sh b/regress/set-hook-B.sh index 0144884dc..0226cad00 100644 --- a/regress/set-hook-B.sh +++ b/regress/set-hook-B.sh @@ -67,6 +67,10 @@ shown=$($TMUX show-hooks -g -B @session-name) || fail "show-hooks -B failed" [ "$shown" = '@session-name::#{session_name}' ] || fail "unexpected show-hooks -B output: $shown" +shown=$($TMUX show-hooks -g) || + fail "show-hooks -g failed" +echo "$shown" | grep -q '^@session-name ' || + fail "show-hooks -g did not show monitor hook: $shown" assert_unchanged @seen 0 $TMUX rename-session two || fail "rename-session two failed"