From 0a32d96b270345af59ad1c807e9f001894d0bb81 Mon Sep 17 00:00:00 2001 From: Kevin Ballard Date: Thu, 18 Sep 2014 15:45:07 -0700 Subject: Reset fish_bind_mode when changing fish_key_bindings Also avoid resetting bindings if fish_key_bindings is "modified" without actually changing. Fixes #1638. --- tests/bind.expect | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/bind.expect (limited to 'tests/bind.expect') diff --git a/tests/bind.expect b/tests/bind.expect new file mode 100644 index 00000000..91585c96 --- /dev/null +++ b/tests/bind.expect @@ -0,0 +1,43 @@ +# vim: set filetype=expect: + +spawn $fish + +expect_prompt + +# test switching key bindings +# this should leave the mode in the appropriate state + +send_line "set -g fish_key_bindings fish_vi_key_bindings" +expect_prompt +send_line -h "echo fail\033ddiecho success" +expect_prompt -re {\r\nsuccess\r\n} { + puts "success" +} -nounmatched -re {\r\nfail} { + puts stderr "fail" +} unmatched { + puts stderr "Couldn't find expected output 'success'" +} +# try again without the human typing +send_line "echo fail\033ddiecho success" +expect_prompt -re {\r\nsuccess\r\n} { + puts "success" +} -nounmatched -re {\r\nfail} { + puts stderr "fail" +} unmatched { + puts stderr "Couldn't find expected output 'success'" +} + +# still in insert mode, switch back to regular key bindings +send_line "set -g fish_key_bindings fish_default_key_bindings" +expect_prompt +send_line "echo success" +expect_prompt -re {\r\nsuccess\r\n} { + puts "success" +} unmatched { + puts stderr "Couldn't find expected output 'success'" +} timeout { + set msg "" + append msg "Timeout after setting fish_key_bindings to fish_default_key_bindings\n" \ + "\$fish_bind_mode is most likely still set to 'insert'" + abort $msg +} -- cgit v1.2.3