# HG changeset patch # User Bram Moolenaar # Date 1333637812 -7200 # Node ID e070b34fe35e6e8c40ec31a08196dd81353db4e5 # Parent d792efa5aea762e4cd05f4934c66cac994924a04 updated for version 7.3.491 Problem: No tests for Lua. Solution: Add some simple tests for Lua. (Luis Carvalho) diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak --- a/src/testdir/Make_amiga.mak +++ b/src/testdir/Make_amiga.mak @@ -13,6 +13,7 @@ VIMPROG = /vim # test25 uses symbolic link # test27 can't edit file with "*" # test52 only for Win32 +# test85 no Lua interface SCRIPTS = test1.out test3.out test4.out test5.out test6.out \ test7.out test8.out test9.out \ diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak --- a/src/testdir/Make_dos.mak +++ b/src/testdir/Make_dos.mak @@ -30,7 +30,7 @@ SCRIPTS = test3.out test4.out test5.out test68.out test69.out test71.out test72.out test73.out \ test74.out test75.out test76.out test77.out test78.out \ test79.out test80.out test81.out test82.out test83.out \ - test84.out + test84.out test85.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak --- a/src/testdir/Make_ming.mak +++ b/src/testdir/Make_ming.mak @@ -50,7 +50,7 @@ SCRIPTS = test3.out test4.out test5.out test68.out test69.out test71.out test72.out test73.out \ test74.out test75.out test76.out test77.out test78.out \ test79.out test80.out test81.out test82.out test83.out \ - test84.out + test84.out test85.out SCRIPTS32 = test50.out test70.out diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak --- a/src/testdir/Make_os2.mak +++ b/src/testdir/Make_os2.mak @@ -13,6 +13,7 @@ VIMPROG = ../vim.exe # test25 uses symbolic link # test27 can't edit file with "*" in file name # test52 only for Win32 +# test85 no Lua interface SCRIPTS = test1.out test3.out test4.out test5.out test6.out \ test7.out test8.out test9.out \ diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms --- a/src/testdir/Make_vms.mms +++ b/src/testdir/Make_vms.mms @@ -4,7 +4,7 @@ # Authors: Zoltan Arpadffy, # Sandor Kopanyi, # -# Last change: 2012 Mar 28 +# Last change: 2012 Apr 05 # # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64. # Edit the lines in the Configuration section below to select. @@ -89,6 +89,7 @@ SCRIPT = test1.out test2.out test3.out # with too many dots). # # Test 72: unknown reason +# Test 85: no Lua interface .IFDEF WANT_GUI SCRIPT_GUI = test16.out diff --git a/src/testdir/Makefile b/src/testdir/Makefile --- a/src/testdir/Makefile +++ b/src/testdir/Makefile @@ -27,7 +27,7 @@ SCRIPTS = test1.out test2.out test3.out test69.out test70.out test71.out test72.out test73.out \ test74.out test75.out test76.out test77.out test78.out \ test79.out test80.out test81.out test82.out test83.out \ - test84.out + test84.out test85.out SCRIPTS_GUI = test16.out diff --git a/src/testdir/test1.in b/src/testdir/test1.in --- a/src/testdir/test1.in +++ b/src/testdir/test1.in @@ -15,6 +15,7 @@ If Vim was not compiled with the +multi_ be set like small.vim above. mbyte.vim is sourced by tests that require the +multi_byte feature. Similar logic is applied to the +mzscheme feature, using mzscheme.vim. +Similar logic is applied to the +lua feature, using lua.vim. STARTTEST :" Write a single line to test.out to check if testing works at all. @@ -28,10 +29,17 @@ w! test.out qa! :w! mbyte.vim :w! mzscheme.vim +:w! lua.vim +:" :" If +multi_byte feature supported, make mbyte.vim empty. :if has("multi_byte") | sp another | w! mbyte.vim | q | endif +:" :" If +mzscheme feature supported, make mzscheme.vim empty. :if has("mzscheme") | sp another | w! mzscheme.vim | q | endif +:" +:" If +lua feature supported, make lua.vim empty. +:if has("lua") | sp another | w! lua.vim | q | endif +:" :" If +eval feature supported quit here, leaving tiny.vim and small.vim empty. :" Otherwise write small.vim to skip the test. :if 1 | q! | endif diff --git a/src/testdir/test85.in b/src/testdir/test85.in new file mode 100644 --- /dev/null +++ b/src/testdir/test85.in @@ -0,0 +1,42 @@ +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) +:?^1?,$w! test.out +:qa! +ENDTEST + +1 line 1 +2 line 2 +3 line 3 diff --git a/src/testdir/test85.ok b/src/testdir/test85.ok new file mode 100644 --- /dev/null +++ b/src/testdir/test85.ok @@ -0,0 +1,5 @@ +1 changed line 1 +scalar test OK +2 line 2 +dictionary with list OK +circular test OK diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 491, +/**/ 490, /**/ 489,