diff options
author | Tim Pope <code@tpope.net> | 2022-02-18 16:11:33 -0500 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-02-22 18:52:52 +0900 |
commit | 37d5890e4941cedf6918821b29bb4a7e3a092e62 (patch) | |
tree | 5c0594bca5da7676d9dc8ddc1c1d3c158c744315 /test/reline/test_config.rb | |
parent | 50098f4b61179a32f9df92e5d0e58cb911f71c86 (diff) | |
download | ruby-37d5890e4941cedf6918821b29bb4a7e3a092e62.tar.gz |
[ruby/reline] Fix support for emacs-ctlx and emacs-meta keymaps
The existing implementation, given the below .inputrc, erroneously
creates a "C-v" key binding:
set keymap emacs-ctlx
"\C-v": "[C-x C-v was pressed]"
This fixes it to instead create a "C-x C-v" keybinding.
https://github.com/ruby/reline/commit/719f52d231
Diffstat (limited to 'test/reline/test_config.rb')
-rw-r--r-- | test/reline/test_config.rb | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/reline/test_config.rb b/test/reline/test_config.rb index e00a47c705..99d190d246 100644 --- a/test/reline/test_config.rb +++ b/test/reline/test_config.rb @@ -274,6 +274,28 @@ class Reline::Config::Test < Reline::TestCase assert_equal expected, @config.key_bindings end + def test_additional_key_bindings_for_auxiliary_emacs_keymaps + @config.read_lines(<<~'LINES'.lines) + set keymap emacs + "ab": "AB" + set keymap emacs-standard + "cd": "CD" + set keymap emacs-ctlx + "ef": "EF" + set keymap emacs-meta + "gh": "GH" + set editing-mode emacs # keymap changes to be emacs + LINES + + expected = { + 'ab'.bytes => 'AB'.bytes, + 'cd'.bytes => 'CD'.bytes, + "\C-xef".bytes => 'EF'.bytes, + "\egh".bytes => 'GH'.bytes, + } + assert_equal expected, @config.key_bindings + end + def test_history_size @config.read_lines(<<~LINES.lines) set history-size 5000 |