diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-07-22 08:00:42 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-07-22 08:00:42 +0800 |
commit | b74262a336d3e5cf69930fcec69a12fdad16d76c (patch) | |
tree | d772b4e136aaac483b2a9a9c84e574778c1d9efe /test | |
parent | 02d859a07387a952442a72e913b23521ec39c199 (diff) | |
download | rneovim-b74262a336d3e5cf69930fcec69a12fdad16d76c.tar.gz rneovim-b74262a336d3e5cf69930fcec69a12fdad16d76c.tar.bz2 rneovim-b74262a336d3e5cf69930fcec69a12fdad16d76c.zip |
fix(terminal): send Shift-Home Shift-End Ctrl-Home Ctrl-End (#24418)
Diffstat (limited to 'test')
-rw-r--r-- | test/functional/terminal/buffer_spec.lua | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/functional/terminal/buffer_spec.lua b/test/functional/terminal/buffer_spec.lua index 8b43f5cf9c..3bc03a4117 100644 --- a/test/functional/terminal/buffer_spec.lua +++ b/test/functional/terminal/buffer_spec.lua @@ -17,6 +17,7 @@ local sleep = helpers.sleep local funcs = helpers.funcs local is_os = helpers.is_os local skip = helpers.skip +local nvim_prog = helpers.nvim_prog describe(':terminal buffer', function() local screen @@ -455,6 +456,33 @@ describe('terminal input', function() end) end) +describe('terminal input', function() + it('sends various special keys with modifiers', function() + clear() + local screen = thelpers.screen_setup(0, + string.format([=[["%s", "-u", "NONE", "-i", "NONE", "--cmd", "startinsert"]]=], nvim_prog)) + screen:expect{grid=[[ + {1: } | + {4:~ }| + {4:~ }| + {4:~ }| + {5:[No Name] 0,1 All}| + {3:-- INSERT --} | + {3:-- TERMINAL --} | + ]]} + for _, key in ipairs({ + '<M-Tab>', '<M-CR>', '<M-Esc>', + '<BS>', '<S-Tab>', '<Insert>', '<Del>', '<PageUp>', '<PageDown>', + '<S-Up>', '<C-Up>', '<Up>', '<S-Down>', '<C-Down>', '<Down>', + '<S-Left>', '<C-Left>', '<Left>', '<S-Right>', '<C-Right>', '<Right>', + '<S-Home>', '<C-Home>', '<Home>', '<S-End>', '<C-End>', '<End>', + }) do + feed('<CR><C-V>' .. key) + retry(nil, nil, function() eq(key, meths.get_current_line()) end) + end + end) +end) + if is_os('win') then describe(':terminal in Windows', function() local screen |