fish-shell/tests/checks/contains_opt.fish
Johannes Altmanninger 8bf8b10f68 Extended & human-friendly keys
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
2024-04-02 14:35:16 +02:00

98 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