mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-11-25 00:04:31 +08:00
77c434bc42
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?)
31 lines
907 B
Fish
31 lines
907 B
Fish
#RUN: %fish %s
|
|
#REQUIRES: command -v tmux
|
|
|
|
isolated-tmux
|
|
|
|
# Don't escape existing token (#7526).
|
|
echo >file-1
|
|
echo >file-2
|
|
isolated-tmux send-keys 'HOME=$PWD ls ~/' Tab
|
|
$sleep
|
|
isolated-tmux capture-pane -p
|
|
# Note the contents may or may not have the autosuggestion appended - it is a race.
|
|
# CHECK: prompt 0> HOME=$PWD ls ~/file-{{1?}}
|
|
# CHECK: ~/file-1 ~/file-2
|
|
|
|
# No pager on single smartcase completion (#7738).
|
|
isolated-tmux send-keys C-u C-l 'mkdir cmake CMakeFiles' Enter C-l \
|
|
'cat cmake' Tab
|
|
$sleep
|
|
isolated-tmux capture-pane -p
|
|
# CHECK: prompt 1> cat cmake/
|
|
|
|
# Correct case in pager when prefixes differ in case (#7743).
|
|
isolated-tmux send-keys C-u C-l 'complete -c foo2 -a "aabc aaBd" -f' Enter C-l \
|
|
'foo2 A' Tab
|
|
$sleep
|
|
isolated-tmux capture-pane -p
|
|
# The "bc" part is the autosuggestion - we could use "capture-pane -e" to check colors.
|
|
# CHECK: prompt 2> foo2 aabc
|
|
# CHECK: aabc aaBd
|