fish-shell/tests/checks/tmux-prompt.fish
Johannes Altmanninger 77c434bc42 Extract setup and teardown for tmux tests
This was long overdue since the setup logic is much more complex than
the actual tests.

tmux-prompt.fish had extra logic to protect against XDG_CONFIG_HOME
with leading double double-dot.  I believe this is no longer necessary
with the new test driver.

We still use our own temp dir because we want to be able to run this
independently of the test driver, This can be useful for debugging
tests.  For example we can insert a "$tmux attach" command in a test,
and then run

	build/fish -C 'source tests/test_functions/isolated-tmux.fish' tests/checks/tmux-bind.fish

This allows to inspect the state of the test and debug interactively.
Attaching to the terminal doesn't work when running inside littlecheck
because littlecheck consumes our output and doesn't give us a terminal.
(Maybe there's an easy way to fix that?)
2021-08-29 20:22:16 +02:00

18 lines
438 B
Fish

#RUN: %fish %s
#REQUIRES: command -v tmux
set -g isolated_tmux_fish_extra_args -C '
function fish_prompt; printf "prompt $status_generation> <$prompt_var> "; end
function on_prompt_var --on-variable prompt_var
commandline -f repaint
end
'
isolated-tmux capture-pane -p
# CHECK: prompt 0> <>
set -q CI && set sleep sleep 10
set -U prompt_var changed
$sleep
isolated-tmux capture-pane -p
# CHECK: prompt 0> <changed>