diff options
Diffstat (limited to 'test/functional/ui/inccommand_spec.lua')
-rw-r--r-- | test/functional/ui/inccommand_spec.lua | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/functional/ui/inccommand_spec.lua b/test/functional/ui/inccommand_spec.lua index 3ee67a710c..ae6d0e6487 100644 --- a/test/functional/ui/inccommand_spec.lua +++ b/test/functional/ui/inccommand_spec.lua @@ -8,6 +8,7 @@ local feed_command = helpers.feed_command local expect = helpers.expect local feed = helpers.feed local insert = helpers.insert +local funcs = helpers.funcs local meths = helpers.meths local neq = helpers.neq local ok = helpers.ok @@ -153,6 +154,29 @@ describe(":substitute, 'inccommand' preserves", function() ]]) end) + it("'[ and '] marks #26439", function() + local screen = Screen.new(30, 10) + common_setup(screen, 'nosplit', ('abc\ndef\n'):rep(50)) + + feed('ggyG') + local X = meths.get_vvar('maxcol') + eq({0, 1, 1, 0}, funcs.getpos("'[")) + eq({0, 101, X, 0}, funcs.getpos("']")) + + feed(":'[,']s/def/") + poke_eventloop() + eq({0, 1, 1, 0}, funcs.getpos("'[")) + eq({0, 101, X, 0}, funcs.getpos("']")) + + feed('DEF/g') + poke_eventloop() + eq({0, 1, 1, 0}, funcs.getpos("'[")) + eq({0, 101, X, 0}, funcs.getpos("']")) + + feed('<CR>') + expect(('abc\nDEF\n'):rep(50)) + end) + for _, case in pairs{"", "split", "nosplit"} do it("various delimiters (inccommand="..case..")", function() insert(default_text) |