0
0
mirror of https://github.com/vim/vim.git synced 2025-10-30 09:47:20 -04:00

updated for version 7.3.896

Problem:    Memory leaks in Lua interface.
Solution:   Fix the leaks, add tests. (Yukihiro Nakadaira)
This commit is contained in:
Bram Moolenaar
2013-04-15 13:49:21 +02:00
parent 332ac0621c
commit b376647bb1
4 changed files with 64 additions and 10 deletions

View File

@@ -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

View File

@@ -3,3 +3,5 @@ scalar test OK
2 line 2
dictionary with list OK
circular test OK
[123.0, 'abc', [1, 2, 3], {'a': 1, 'b': 2, 'c': 3}]
{'4': 123.0, '5': 'abc', '6': [1, 2, 3], '7': {'a': 1, 'b': 2, 'c': 3}}