Mercurial > vim
view src/testdir/test85.in @ 7046:fd409a0800fd v7.4.836
commit https://github.com/vim/vim/commit/0a38dd29d6f65aa601162542a5ab0ba7f308fc8e
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Aug 25 16:49:01 2015 +0200
patch 7.4.836
Problem: Accessing unitinialized memory.
Solution: Add missing calls to init_tv(). (Dominique Pelle)
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 25 Aug 2015 17:20:28 +0200 |
parents | af3a3680fc75 |
children | ae45d497868f |
line wrap: on
line source
Test for Lua interface and luaeval() function STARTTEST :so small.vim :so lua.vim :set nocompatible viminfo+=nviminfo :lua l = vim.list():add"item0":add"dictionary with list OK":add"item2" :lua h = vim.dict(); h.list = l :call garbagecollect() /^1 :" change buffer contents :lua curbuf = vim.buffer() :lua curline = vim.eval"line('.')" :lua curbuf[curline] = "1 changed line 1" :" scalar test :let tmp_string = luaeval('"string"') :let tmp_1000 = luaeval('1000') :if printf("%s%.0f", tmp_string, tmp_1000) == "string1000" :let scalar_res = "OK" :else :let scalar_res = "FAILED" :endif :call append(search("^1"), "scalar test " . scalar_res) :" dictionary containing a list :let tmp = luaeval("h").list[1] :/^2/put =tmp :" circular list (at the same time test lists containing lists) :lua l[2] = l :let l2 = luaeval("h").list :if l2[2] == l2 :let res = "OK" :else :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 1 line 1 2 line 2 3 line 3