Mercurial > vim
diff src/testdir/test85.in @ 4293:af3a3680fc75 v7.3.896
updated for version 7.3.896
Problem: Memory leaks in Lua interface.
Solution: Fix the leaks, add tests. (Yukihiro Nakadaira)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Mon, 15 Apr 2013 13:49:21 +0200 |
parents | e070b34fe35e |
children | ae45d497868f |
line wrap: on
line diff
--- a/src/testdir/test85.in +++ b/src/testdir/test85.in @@ -33,6 +33,49 @@ STARTTEST :let res = "FAILED" :endif :call setline(search("^3"), "circular test " . res) + +:let l = [] +:lua l = vim.eval("l") +:lua l:add(123) +:lua l:add("abc") +:lua l:add(vim.eval("[1, 2, 3]")) +:lua l:add(vim.eval("{'a':1, 'b':2, 'c':3}")) +:lua l:insert(123) +:lua l:insert("abc") +:lua l:insert(vim.eval("[1, 2, 3]")) +:lua l:insert(vim.eval("{'a':1, 'b':2, 'c':3}")) +:lua l[0] = l[0] +:lua l[1] = l[1] +:lua l[2] = l[2] +:lua l[3] = l[3] +:lua l[0] = 123 +:lua l[1] = "abc" +:lua l[2] = vim.eval("[1, 2, 3]") +:lua l[3] = vim.eval("{'a':1, 'b':2, 'c':3}") +:lua l[3] = nil +:lua l[2] = nil +:lua l[1] = nil +:lua l[0] = nil +:lua l = nil +:$put =string(l) + +:let d = {} +:lua d = vim.eval("d") +:lua d[0] = 123 +:lua d[1] = "abc" +:lua d[2] = vim.eval("[1, 2, 3]") +:lua d[3] = vim.eval("{'a':1, 'b':2, 'c':3}") +:lua d[4] = d[0] +:lua d[5] = d[1] +:lua d[6] = d[2] +:lua d[7] = d[3] +:lua d[3] = nil +:lua d[2] = nil +:lua d[1] = nil +:lua d[0] = nil +:lua d = nil +:$put =string(d) + :?^1?,$w! test.out :qa! ENDTEST