summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_cmd.vim
diff options
context:
space:
mode:
Diffstat (limited to 'src/testdir/test_vim9_cmd.vim')
-rw-r--r--src/testdir/test_vim9_cmd.vim22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 3b479f31d5..15c9a59870 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -1172,5 +1172,27 @@ def Test_lockvar()
CheckDefFailure(lines, 'E1178', 2)
enddef
+def Test_substitute_expr()
+ var to = 'repl'
+ new
+ setline(1, 'one from two')
+ s/from/\=to
+ assert_equal('one repl two', getline(1))
+
+ setline(1, 'one from two')
+ s/from/\=to .. '_x'
+ assert_equal('one repl_x two', getline(1))
+
+ setline(1, 'one from two from three')
+ var also = 'also'
+ s/from/\=to .. '_' .. also/g#e
+ assert_equal('one repl_also two repl_also three', getline(1))
+
+ CheckDefFailure(['s/from/\="x")/'], 'E488:')
+ CheckDefFailure(['s/from/\="x"/9'], 'E488:')
+
+ bwipe!
+enddef
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker