Test complete builtin sort of (sorted + unsorted) completions

Like the pexpect-based pager compeltions test `complete-group-order.py`, but for
the `complete` builtin. Verifies the same sort/dedup rules that apply to the
pager are also applied to the output of `complete` and asserts the sort behavior
for multiple `complete -k` calls for the same command and with the same (or with
both passing) preconditions.
This commit is contained in:
Mahmoud Al-Qudsi 2022-10-31 16:52:44 -05:00
parent 4cb19e244b
commit 8168ed7bf6

View file

@ -0,0 +1,32 @@
#RUN: %fish -C 'set -l fish %fish' %s
function fooc; true; end;
# A non-`complete -k` completion
complete -c fooc -fa "alpha delta bravo"
# A `complete -k` completion chronologically and alphabetically before the next completion. You'd
# expect it to come first, but we documented that it will come second.
complete -c fooc -fka "golf charlie echo"
# A `complete -k` completion that is chronologically after and alphabetically after the previous
# one, so a naive sort would place it after but we want to make sure it comes before.
complete -c fooc -fka "india foxtrot hotel"
# Another non-`complete -k` completion
complete -c fooc -fa "kilo juliett lima"
# Generate completions
complete -C"fooc "
# CHECK: alpha
# CHECK: bravo
# CHECK: india
# CHECK: foxtrot
# CHECK: hotel
# CHECK: golf
# CHECK: charlie
# CHECK: delta
# CHECK: echo
# CHECK: juliett
# CHECK: kilo
# CHECK: lima