diff options
author | Tristan Konolige <tristan.konolige@gmail.com> | 2020-04-18 17:04:37 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-19 01:04:37 +0200 |
commit | bf0f74586153dfa8d550e1cfefd83ca9e0354171 (patch) | |
tree | ef631999ea9cb6d778bf5035eb4cdabd007d17ce /test/functional/lua/vim_spec.lua | |
parent | c5466ba6ef8333183e1c43c7e762e44539fb2358 (diff) | |
download | rneovim-bf0f74586153dfa8d550e1cfefd83ca9e0354171.tar.gz rneovim-bf0f74586153dfa8d550e1cfefd83ca9e0354171.tar.bz2 rneovim-bf0f74586153dfa8d550e1cfefd83ca9e0354171.zip |
lua: allow deepcopy of functions (#12136)
Diffstat (limited to 'test/functional/lua/vim_spec.lua')
-rw-r--r-- | test/functional/lua/vim_spec.lua | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua index 5ce4bf2973..ca74d185cd 100644 --- a/test/functional/lua/vim_spec.lua +++ b/test/functional/lua/vim_spec.lua @@ -341,6 +341,22 @@ describe('lua stdlib', function() and vim.tbl_count(b) == 2 and tostring(a) ~= tostring(b) ]])) + + ok(exec_lua([[ + local f1 = function() return 1 end + local f2 = function() return 2 end + local t1 = {f = f1} + local t2 = vim.deepcopy(t1) + t1.f = f2 + return t1.f() ~= t2.f() + ]])) + + eq('Error executing lua: .../shared.lua: Cannot deepcopy object of type thread', + pcall_err(exec_lua, [[ + local thread = coroutine.create(function () return 0 end) + local t = {thr = thread} + vim.deepcopy(t) + ]])) end) it('vim.pesc', function() |