aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-06-14 10:55:04 +0800
committerGitHub <noreply@github.com>2022-06-14 10:55:04 +0800
commit619eb32c75e854737cd2ca928dadd6f7367c6533 (patch)
treeb9cbd2d35ef816fb389321689c97cbde89a9e32e /test/functional/ui
parent7f8f8d6cb7874369c36553cd8cc500de1b572b31 (diff)
downloadrneovim-619eb32c75e854737cd2ca928dadd6f7367c6533.tar.gz
rneovim-619eb32c75e854737cd2ca928dadd6f7367c6533.tar.bz2
rneovim-619eb32c75e854737cd2ca928dadd6f7367c6533.zip
fix(inccommand): never preview if parsing command failed (#18944)
`errormsg` is not always set when parsing the command failed (e.g. when the range contains invalid marks). Check the return value is better.
Diffstat (limited to 'test/functional/ui')
-rw-r--r--test/functional/ui/inccommand_spec.lua26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/functional/ui/inccommand_spec.lua b/test/functional/ui/inccommand_spec.lua
index a310069636..dfbe724026 100644
--- a/test/functional/ui/inccommand_spec.lua
+++ b/test/functional/ui/inccommand_spec.lua
@@ -2947,6 +2947,32 @@ it(':substitute with inccommand, allows :redraw before first separator is typed
]])
end)
+it(':substitute with inccommand, does nothing if range contains invalid marks', function()
+ local screen = Screen.new(30, 6)
+ clear()
+ command('set undolevels=-1')
+ common_setup(screen, 'split', 'test')
+ feed([[:'a,'bs]])
+ screen:expect([[
+ test |
+ {15:~ }|
+ {15:~ }|
+ {15:~ }|
+ {15:~ }|
+ :'a,'bs^ |
+ ]])
+ feed('/')
+ screen:expect([[
+ test |
+ {15:~ }|
+ {15:~ }|
+ {15:~ }|
+ {15:~ }|
+ :'a,'bs/^ |
+ ]])
+ eq('', eval('v:errmsg'))
+end)
+
it(":substitute doesn't crash with inccommand, if undo is empty #12932", function()
local screen = Screen.new(10,5)
clear()