patch 8.2.3300: Lua: can only execute on Vim command at a time
Problem: Lua: can only execute on Vim command at a time. Not easy to get
the Vim version.
Solution: Make vim.command() accept multiple lines. Add vim.version().
(Yegappan Lakshmanan, closes #8716)
diff --git a/src/testdir/test_lua.vim b/src/testdir/test_lua.vim
index 94e3cec..dd493fe 100644
--- a/src/testdir/test_lua.vim
+++ b/src/testdir/test_lua.vim
@@ -1162,4 +1162,36 @@
%bw!
endfunc
+" Test for vim.version()
+func Test_lua_vim_version()
+ lua << trim END
+ vimver = vim.version()
+ vimver_n = vimver.major * 100 + vimver.minor
+ END
+ call assert_equal(v:version, luaeval('vimver_n'))
+endfunc
+
+" Test for running multiple commands using vim.command()
+func Test_lua_multiple_commands()
+ lua << trim END
+ vim.command([[
+ let Var1 = []
+ for i in range(3)
+ let Var1 += [#{name: 'x'}]
+ endfor
+ augroup Luagroup
+ autocmd!
+ autocmd User Luatest echo 'Hello'
+ augroup END
+ ]])
+ END
+ call assert_equal([{'name': 'x'}, {'name': 'x'}, {'name': 'x'}], Var1)
+ call assert_true(exists('#Luagroup'))
+ call assert_true(exists('#Luagroup#User#Luatest'))
+ augroup Luagroup
+ autocmd!
+ augroup END
+ augroup! Luagroup
+endfunc
+
" vim: shiftwidth=2 sts=2 expandtab