@@ -33,7 +33,7 @@ func Test_lua_eval()
3333 " lua.eval with a number
3434 lua v = vim .eval (' 123' )
3535 call assert_equal (' number' , luaeval (' vim.type(v)' ))
36- call assert_equal (123.0 , luaeval (' v' ))
36+ call assert_equal (123 , luaeval (' v' ))
3737
3838 " lua.eval with a string
3939 lua v = vim .eval (' "abc"' )
@@ -121,6 +121,18 @@ func Test_lua_window_line_col()
121121 bwipe!
122122endfunc
123123
124+ " Test vim.call
125+ func Test_lua_call ()
126+ call assert_equal (has (' lua' ), luaeval (' vim.call("has", "lua")' ))
127+ call assert_equal (printf (" Hello %s" , " vim" ), luaeval (' vim.call("printf", "Hello %s", "vim")' ))
128+ endfunc
129+
130+ " Test vim.fn.*
131+ func Test_lua_fn ()
132+ call assert_equal (has (' lua' ), luaeval (' vim.fn.has("lua")' ))
133+ call assert_equal (printf (" Hello %s" , " vim" ), luaeval (' vim.fn.printf("Hello %s", "vim")' ))
134+ endfunc
135+
124136" Test setting the current window
125137func Test_lua_window_set_current ()
126138 new Xfoo1
@@ -252,7 +264,7 @@ endfunc
252264func Test_lua_buffer_number_lines ()
253265 new
254266 call setline (1 , [' a' , ' b' , ' c' ])
255- call assert_equal (3.0 , luaeval (' #vim.buffer()' ))
267+ call assert_equal (3 , luaeval (' #vim.buffer()' ))
256268 bwipe!
257269endfunc
258270
@@ -311,15 +323,15 @@ func Test_lua_list()
311323 lua l: add (nil)
312324 lua l: add (vim .eval (" [1, 2, 3]" ))
313325 lua l: add (vim .eval (" {'a':1, 'b':2, 'c':3}" ))
314- call assert_equal ([123.0 , ' abc' , v: true , v: false , v: null , [1 , 2 , 3 ], {' a' : 1 , ' b' : 2 , ' c' : 3 }], l )
315- call assert_equal (7.0 , luaeval (' #l' ))
326+ call assert_equal ([123 , ' abc' , v: true , v: false , v: null , [1 , 2 , 3 ], {' a' : 1 , ' b' : 2 , ' c' : 3 }], l )
327+ call assert_equal (7 , luaeval (' #l' ))
316328 call assert_match (' ^list: \%(0x\)\?\x\+$' , luaeval (' tostring(l)' ))
317329
318330 lua l [0 ] = 124
319331 lua l [5 ] = nil
320332 lua l: insert (' first' )
321333 lua l: insert (' xx' , 3 )
322- call assert_equal ([' first' , 124.0 , ' abc' , ' xx' , v: true , v: false , v: null , {' a' : 1 , ' b' : 2 , ' c' : 3 }], l )
334+ call assert_equal ([' first' , 124 , ' abc' , ' xx' , v: true , v: false , v: null , {' a' : 1 , ' b' : 2 , ' c' : 3 }], l )
323335
324336 lockvar 1 l
325337 call assert_fails (' lua l:add("x")' , ' [string "vim chunk"]:1: list is locked' )
@@ -355,16 +367,16 @@ func Test_lua_recursive_list()
355367 lua l = vim .list (): add (1 ): add (2 )
356368 lua l = l: add (l )
357369
358- call assert_equal (1.0 , luaeval (' l[0]' ))
359- call assert_equal (2.0 , luaeval (' l[1]' ))
370+ call assert_equal (1 , luaeval (' l[0]' ))
371+ call assert_equal (2 , luaeval (' l[1]' ))
360372
361- call assert_equal (1.0 , luaeval (' l[2][0]' ))
362- call assert_equal (2.0 , luaeval (' l[2][1]' ))
373+ call assert_equal (1 , luaeval (' l[2][0]' ))
374+ call assert_equal (2 , luaeval (' l[2][1]' ))
363375
364- call assert_equal (1.0 , luaeval (' l[2][2][0]' ))
365- call assert_equal (2.0 , luaeval (' l[2][2][1]' ))
376+ call assert_equal (1 , luaeval (' l[2][2][0]' ))
377+ call assert_equal (2 , luaeval (' l[2][2][1]' ))
366378
367- call assert_equal (' [1.0 , 2.0 , [...]]' , string (luaeval (' l' )))
379+ call assert_equal (' [1, 2, [...]]' , string (luaeval (' l' )))
368380
369381 call assert_match (' ^list: \%(0x\)\?\x\+$' , luaeval (' tostring(l)' ))
370382 call assert_equal (luaeval (' tostring(l)' ), luaeval (' tostring(l[2])' ))
@@ -386,15 +398,15 @@ func Test_lua_dict()
386398 lua d [3 ] = false
387399 lua d [4 ] = vim .eval (" [1, 2, 3]" )
388400 lua d [5 ] = vim .eval (" {'a':1, 'b':2, 'c':3}" )
389- call assert_equal ({' 0' :123.0 , ' 1' :' abc' , ' 2' :v: true , ' 3' :v: false , ' 4' : [1 , 2 , 3 ], ' 5' : {' a' :1 , ' b' :2 , ' c' :3 }}, d )
390- call assert_equal (6.0 , luaeval (' #d' ))
401+ call assert_equal ({' 0' :123 , ' 1' :' abc' , ' 2' :v: true , ' 3' :v: false , ' 4' : [1 , 2 , 3 ], ' 5' : {' a' :1 , ' b' :2 , ' c' :3 }}, d )
402+ call assert_equal (6 , luaeval (' #d' ))
391403 call assert_match (' ^dict: \%(0x\)\?\x\+$' , luaeval (' tostring(d)' ))
392404
393405 call assert_equal (' abc' , luaeval (' d[1]' ))
394406
395407 lua d [0 ] = 124
396408 lua d [4 ] = nil
397- call assert_equal ({' 0' :124.0 , ' 1' :' abc' , ' 2' :v: true , ' 3' :v: false , ' 5' : {' a' :1 , ' b' :2 , ' c' :3 }}, d )
409+ call assert_equal ({' 0' :124 , ' 1' :' abc' , ' 2' :v: true , ' 3' :v: false , ' 5' : {' a' :1 , ' b' :2 , ' c' :3 }}, d )
398410
399411 lockvar 1 d
400412 call assert_fails (' lua d[6] = 1' , ' [string "vim chunk"]:1: dict is locked' )
@@ -441,16 +453,16 @@ func Test_lua_blob()
441453
442454 lua b = vim .blob (" \x00\x00\x00\x00 " )
443455 call assert_equal (0z00000000 , luaeval (' b' ))
444- call assert_equal (4.0 , luaeval (' #b' ))
456+ call assert_equal (4 , luaeval (' #b' ))
445457 lua b [0 ], b [1 ], b [2 ], b [3 ] = 1 , 32 , 256 , 0xff
446458 call assert_equal (0z012000ff , luaeval (' b' ))
447459 lua b [4 ] = string .byte (" z" , 1 )
448460 call assert_equal (0z012000ff .7 a, luaeval (' b' ))
449- call assert_equal (5.0 , luaeval (' #b' ))
461+ call assert_equal (5 , luaeval (' #b' ))
450462 call assert_fails (' lua b[#b+1] = 0x80' , ' [string "vim chunk"]:1: index out of range' )
451463 lua b: add (" 12ab" )
452464 call assert_equal (0z012000ff .7 a313261.62 , luaeval (' b' ))
453- call assert_equal (9.0 , luaeval (' #b' ))
465+ call assert_equal (9 , luaeval (' #b' ))
454466 call assert_fails (' lua b:add(nil)' , ' [string "vim chunk"]:1: string expected, got nil' )
455467 call assert_fails (' lua b:add(true)' , ' [string "vim chunk"]:1: string expected, got boolean' )
456468 call assert_fails (' lua b:add({})' , ' [string "vim chunk"]:1: string expected, got table' )
@@ -552,12 +564,12 @@ endfunc
552564" Test :luafile foo.lua
553565func Test_luafile ()
554566 call delete (' Xlua_file' )
555- call writefile ([" str = 'hello'" , " num = 123.0 " ], ' Xlua_file' )
567+ call writefile ([" str = 'hello'" , " num = 123" ], ' Xlua_file' )
556568 call setfperm (' Xlua_file' , ' r-xr-xr-x' )
557569
558570 luafile Xlua_file
559571 call assert_equal (' hello' , luaeval (' str' ))
560- call assert_equal (123.0 , luaeval (' num' ))
572+ call assert_equal (123 , luaeval (' num' ))
561573
562574 lua str, num = nil
563575 call delete (' Xlua_file' )
0 commit comments