mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-13 09:24:03 +08:00
8bf8b10f68
See the changelog additions for user-visible changes. Since we enable/disable terminal protocols whenever we pass terminal ownership, tests can no longer run in parallel on the same terminal. For the same reason, readline shortcuts in the gdb REPL will not work anymore. As a remedy, use gdbserver, or lobby for CSI u support in libreadline. Add sleep to some tests, otherwise they fall (both in CI and locally). There are two weird failures on FreeBSD remaining, disable them for now https://github.com/fish-shell/fish-shell/pull/10359/checks?check_run_id=23330096362 Design and implementation borrows heavily from Kakoune. In future, we should try to implement more of the kitty progressive enhancements. Closes #10359
99 lines
2.2 KiB
Fish
99 lines
2.2 KiB
Fish
#RUN: %fish %s | %filter-ctrlseqs
|
|
function commandline
|
|
if test $argv[1] = -ct
|
|
echo --long4\n-4
|
|
else if test $argv[1] = -cpx
|
|
echo cmd\n-z\n-bc\n--long1\narg1\n-d\narg2\n--long2
|
|
end
|
|
end
|
|
|
|
__fish_contains_opt -s z
|
|
or echo fails to find -z
|
|
|
|
__fish_contains_opt -s c
|
|
or echo fails to find -c
|
|
|
|
__fish_contains_opt -s x
|
|
and echo should not have found -x
|
|
|
|
__fish_contains_opt -s x -s z
|
|
or echo fails to find -z
|
|
|
|
__fish_contains_opt -s x -s c
|
|
or echo fails to find -c
|
|
|
|
__fish_contains_opt -s x long1
|
|
or echo fails to find --long1
|
|
|
|
__fish_contains_opt long2
|
|
or echo fails to find --long2
|
|
|
|
__fish_contains_opt long1 long2
|
|
or echo fails to find --long1 or --long2
|
|
|
|
__fish_contains_opt long3
|
|
and echo should not have found --long3
|
|
|
|
__fish_contains_opt -s 4 long4
|
|
or echo fails to find -4
|
|
|
|
__fish_contains_opt long4
|
|
and echo should not have found --long4
|
|
|
|
__fish_contains_opt arg1
|
|
and echo should not have found --arg1
|
|
|
|
__fish_contains_opt -s a
|
|
and echo should not have found -a
|
|
|
|
# This should result in message written to stderr and an error status.
|
|
__fish_contains_opt -x w
|
|
and '"__fish_contains_opt -x w" should not have succeeded'
|
|
#CHECKERR: __fish_contains_opt: Unknown option -x
|
|
|
|
__fish_not_contain_opt -s z
|
|
and echo should not have found -z
|
|
|
|
__fish_not_contain_opt -s c
|
|
and echo should not have found -c
|
|
|
|
__fish_not_contain_opt -s x
|
|
or echo unexpectedly found -x
|
|
|
|
__fish_not_contain_opt -s x -s z
|
|
and echo should not have found -x/-z
|
|
|
|
__fish_not_contain_opt -s x -s c
|
|
and echo should not have found -x/-c
|
|
|
|
__fish_not_contain_opt -s x long1
|
|
and echo should not have found --long1
|
|
|
|
__fish_not_contain_opt long2
|
|
and echo found --long2
|
|
|
|
__fish_not_contain_opt long1 long2
|
|
and echo found --long1 or --long2
|
|
|
|
__fish_not_contain_opt long3
|
|
or echo unexpectedly found --long3
|
|
|
|
__fish_not_contain_opt -s 4 long4
|
|
and echo unexpectedly found -4
|
|
|
|
__fish_not_contain_opt long4
|
|
or echo should not have found --long4
|
|
|
|
__fish_not_contain_opt arg1
|
|
or echo should not have found --arg1
|
|
|
|
__fish_not_contain_opt -s a
|
|
or echo should not have found -a
|
|
|
|
# This should result in message written to stderr and an error status.
|
|
__fish_not_contain_opt -x w
|
|
and '"__fish_not_contain_opt -x w" should not have succeeded'
|
|
#CHECKERR: __fish_not_contain_opt: Unknown option -x
|
|
|
|
true
|