Port bind tests to littlecheck

This commit is contained in:
Fabian Homborg 2019-06-26 21:10:01 +02:00
parent fdf0a661cf
commit 4d035cbd10
4 changed files with 90 additions and 93 deletions

View File

@ -1,5 +0,0 @@
# Verify that an invalid bind mode is rejected.
bind: mode name 'bad bind mode' is not valid. See `help identifiers`.
# Verify that an invalid bind mode target is rejected.
bind: mode name 'bind-mode' is not valid. See `help identifiers`.
bind: No binding found for sequence '\t'

View File

@ -1,33 +0,0 @@
# Test various `bind` command invocations. This is meant to verify that
# invalid flags, mode names, etc. are caught as well as to verify that valid
# ones are allowed.
echo \# Verify that an invalid bind mode is rejected. >&2
bind -m 'bad bind mode' \cX true
echo \# Verify that an invalid bind mode target is rejected. >&2
bind -M bind-mode \cX true
# This should succeed and result in a success, zero, status.
bind -M bind_mode \cX true
### HACK: All full bind listings need to have the \x7f -> backward-delete-char
# binding explicitly removed, because on some systems that's backspace, on others not.
echo \# Listing bindings
bind | string match -v '*backward-delete-char'
bind --user --preset | string match -v '*backward-delete-char'
echo \# Preset only
bind --preset | string match -v '*backward-delete-char'
echo \# User only
bind --user | string match -v '*backward-delete-char'
echo \# Adding bindings
bind \t 'echo banana'
bind | string match -v '*backward-delete-char'
echo \# Erasing bindings
bind --erase \t
bind \t
bind \t 'echo wurst'
bind --erase --user --preset \t
bind \t
exit 0

View File

@ -1,55 +0,0 @@
# Listing bindings
bind --preset '' self-insert
bind --preset \n execute
bind --preset \r execute
bind --preset \t complete
bind --preset \cc commandline\ \'\'
bind --preset \cd exit
bind --preset \ce bind
bind --preset \e\[A up-line
bind --preset \e\[B down-line
bind --preset \e\[C forward-char
bind --preset \e\[D backward-char
bind -M bind_mode \cx true
bind --preset '' self-insert
bind --preset \n execute
bind --preset \r execute
bind --preset \t complete
bind --preset \cc commandline\ \'\'
bind --preset \cd exit
bind --preset \ce bind
bind --preset \e\[A up-line
bind --preset \e\[B down-line
bind --preset \e\[C forward-char
bind --preset \e\[D backward-char
bind -M bind_mode \cx true
# Preset only
bind --preset '' self-insert
bind --preset \n execute
bind --preset \r execute
bind --preset \t complete
bind --preset \cc commandline\ \'\'
bind --preset \cd exit
bind --preset \ce bind
bind --preset \e\[A up-line
bind --preset \e\[B down-line
bind --preset \e\[C forward-char
bind --preset \e\[D backward-char
# User only
bind -M bind_mode \cx true
# Adding bindings
bind --preset '' self-insert
bind --preset \n execute
bind --preset \r execute
bind --preset \t complete
bind --preset \cc commandline\ \'\'
bind --preset \cd exit
bind --preset \ce bind
bind --preset \e\[A up-line
bind --preset \e\[B down-line
bind --preset \e\[C forward-char
bind --preset \e\[D backward-char
bind -M bind_mode \cx true
bind \t 'echo banana'
# Erasing bindings
bind --preset \t complete

90
tests/checks/bind.fish Normal file
View File

@ -0,0 +1,90 @@
#RUN: %fish %s
# Test various `bind` command invocations. This is meant to verify that
# invalid flags, mode names, etc. are caught as well as to verify that valid
# ones are allowed.
# Verify that an invalid bind mode is rejected. >&2
bind -m 'bad bind mode' \cX true
# CHECKERR: bind: mode name 'bad bind mode' is not valid. See `help identifiers`.
# Verify that an invalid bind mode target is rejected. >&2
bind -M bind-mode \cX true
# CHECKERR: bind: mode name 'bind-mode' is not valid. See `help identifiers`.
# CHECKERR: bind: No binding found for sequence '\t'
# This should succeed and result in a success, zero, status.
bind -M bind_mode \cX true
### HACK: All full bind listings need to have the \x7f -> backward-delete-char
# binding explicitly removed, because on some systems that's backspace, on others not.
# Listing bindings
bind | string match -v '*backward-delete-char'
bind --user --preset | string match -v '*backward-delete-char'
# CHECK: bind --preset '' self-insert
# CHECK: bind --preset \n execute
# CHECK: bind --preset \r execute
# CHECK: bind --preset \t complete
# CHECK: bind --preset \cc commandline\ \'\'
# CHECK: bind --preset \cd exit
# CHECK: bind --preset \ce bind
# CHECK: bind --preset \e\[A up-line
# CHECK: bind --preset \e\[B down-line
# CHECK: bind --preset \e\[C forward-char
# CHECK: bind --preset \e\[D backward-char
# CHECK: bind -M bind_mode \cx true
# CHECK: bind --preset '' self-insert
# CHECK: bind --preset \n execute
# CHECK: bind --preset \r execute
# CHECK: bind --preset \t complete
# CHECK: bind --preset \cc commandline\ \'\'
# CHECK: bind --preset \cd exit
# CHECK: bind --preset \ce bind
# CHECK: bind --preset \e\[A up-line
# CHECK: bind --preset \e\[B down-line
# CHECK: bind --preset \e\[C forward-char
# CHECK: bind --preset \e\[D backward-char
# CHECK: bind -M bind_mode \cx true
# Preset only
bind --preset | string match -v '*backward-delete-char'
# CHECK: bind --preset '' self-insert
# CHECK: bind --preset \n execute
# CHECK: bind --preset \r execute
# CHECK: bind --preset \t complete
# CHECK: bind --preset \cc commandline\ \'\'
# CHECK: bind --preset \cd exit
# CHECK: bind --preset \ce bind
# CHECK: bind --preset \e\[A up-line
# CHECK: bind --preset \e\[B down-line
# CHECK: bind --preset \e\[C forward-char
# CHECK: bind --preset \e\[D backward-char
# User only
bind --user | string match -v '*backward-delete-char'
# CHECK: bind -M bind_mode \cx true
# Adding bindings
bind \t 'echo banana'
bind | string match -v '*backward-delete-char'
# CHECK: bind --preset '' self-insert
# CHECK: bind --preset \n execute
# CHECK: bind --preset \r execute
# CHECK: bind --preset \t complete
# CHECK: bind --preset \cc commandline\ \'\'
# CHECK: bind --preset \cd exit
# CHECK: bind --preset \ce bind
# CHECK: bind --preset \e\[A up-line
# CHECK: bind --preset \e\[B down-line
# CHECK: bind --preset \e\[C forward-char
# CHECK: bind --preset \e\[D backward-char
# CHECK: bind -M bind_mode \cx true
# CHECK: bind \t 'echo banana'
# Erasing bindings
bind --erase \t
bind \t
bind \t 'echo wurst'
bind --erase --user --preset \t
bind \t
# CHECK: bind --preset \t complete
exit 0