mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-26 21:03:12 +00:00
381b38af0a
BusyBox less is present on alpine CI; it doesn't support the "+q" command passing style, so it's not directly usable by this test.
63 lines
1.7 KiB
Fish
63 lines
1.7 KiB
Fish
#RUN: %fish %s
|
|
#REQUIRES: command -v tmux && ! tmux -V | grep -qE '^tmux (next-3.4|3\.[0123][a-z]*($|[.-]))'
|
|
#REQUIRES: command -v less && ! less --version 2>&1 || grep -q BusyBox
|
|
# Disable on GitHub macOS CI because it fails more than it passes there
|
|
#REQUIRES: uname -s | grep -qv Darwin || test -z "$CI"
|
|
|
|
isolated-tmux-start
|
|
|
|
isolated-tmux send-keys '
|
|
function fish_prompt
|
|
printf "prompt-line-1\\nprompt-line-2> "
|
|
commandline -f repaint
|
|
end
|
|
' Enter
|
|
isolated-tmux send-keys C-l ': 1' Enter
|
|
tmux-sleep
|
|
isolated-tmux send-keys ': 3' Enter
|
|
tmux-sleep
|
|
isolated-tmux send-keys ': 5' Enter
|
|
tmux-sleep
|
|
|
|
# Screen looks like
|
|
|
|
# [y=0] prompt-line-1
|
|
# [y=1] prompt-line-2> : 1
|
|
# [y=2] prompt-line-1
|
|
# [y=3] prompt-line-2> : 3
|
|
# [y=4] prompt-line-1
|
|
# [y=5] prompt-line-2> : 5
|
|
# [y=6] prompt-line-1
|
|
# [y=7] prompt-line-2>
|
|
|
|
isolated-tmux copy-mode
|
|
isolated-tmux send-keys -X previous-prompt
|
|
isolated-tmux send-keys -X previous-prompt
|
|
tmux-sleep
|
|
isolated-tmux display-message -p '#{copy_cursor_y} #{copy_cursor_line}'
|
|
# CHECK: {{[46]}} prompt-line-1
|
|
|
|
# Test that the prevd binding does not break the prompt.
|
|
isolated-tmux send-keys Escape
|
|
tmux-sleep
|
|
isolated-tmux send-keys M-left
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p | tail -n 5
|
|
# CHECK: prompt-line-2> : 5
|
|
# CHECK: prompt-line-1
|
|
# CHECK: prompt-line-2>
|
|
# CHECK:
|
|
# CHECK:
|
|
|
|
# Test repainint after running an external program that uses the alternate screen.
|
|
isolated-tmux send-keys 'bind ctrl-r "echo | less +q; commandline \'echo Hello World\'"' Enter C-l \
|
|
isolated-tmux send-keys C-r
|
|
tmux-sleep
|
|
isolated-tmux send-keys Enter
|
|
tmux-sleep
|
|
isolated-tmux capture-pane -p
|
|
# CHECK: prompt-line-1
|
|
# CHECK: prompt-line-2> echo Hello World
|
|
# CHECK: Hello World
|
|
# CHECK: prompt-line-1
|
|
# CHECK: prompt-line-2>
|