summaryrefslogtreecommitdiffstats
path: root/src/testdir
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-08 22:45:35 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-08 22:45:35 +0200
commitc3516f7e4507c77424b94cb89071f6d0841f4e6a (patch)
tree08b13ec0f9f8b88e0ec8cbab01899960dae3423b /src/testdir
parent6defa7bf0a8935cc44f3dc12e9c87bbb40f190b7 (diff)
patch 8.2.1637: Vim9: :put ={expr} does not work inside :def functionv8.2.1637
Problem: Vim9: :put ={expr} does not work inside :def function. Solution: Add ISN_PUT. (closes #6397)
Diffstat (limited to 'src/testdir')
-rw-r--r--src/testdir/test_vim9_cmd.vim16
-rw-r--r--src/testdir/test_vim9_disassemble.vim15
2 files changed, 31 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_cmd.vim b/src/testdir/test_vim9_cmd.vim
index 9372d90952..4b4e58e943 100644
--- a/src/testdir/test_vim9_cmd.vim
+++ b/src/testdir/test_vim9_cmd.vim
@@ -315,5 +315,21 @@ def Test_normal_command()
bwipe!
enddef
+def Test_put_command()
+ new
+ @p = 'ppp'
+ put p
+ assert_equal('ppp', getline(2))
+
+ put ='below'
+ assert_equal('below', getline(3))
+ put! ='above'
+ assert_equal('above', getline(3))
+ assert_equal('below', getline(4))
+
+ bwipe!
+enddef
+
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index b738f19352..1582f1243f 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -118,6 +118,21 @@ def Test_disassemble_yank_range()
res)
enddef
+def s:PutExpr()
+ :3put ="text"
+enddef
+
+def Test_disassemble_put_expr()
+ let res = execute('disass s:PutExpr')
+ assert_match('<SNR>\d*_PutExpr.*' ..
+ ' :3put ="text"\_s*' ..
+ '\d PUSHS "text"\_s*' ..
+ '\d PUT = 3\_s*' ..
+ '\d PUSHNR 0\_s*' ..
+ '\d RETURN',
+ res)
+enddef
+
def s:ScriptFuncPush()
let localbool = true
let localspec = v:none