feat(eval/method): partially port v8.1.1954

Does not include listener_*() functions.

js_*() functions are N/A.

json_encode() and json_decode() didn't include tests; add some anyway
(to json_functions_spec.lua).

test_lua.vim isn't included yet, so add tests to luaeval_spec.lua.
This commit is contained in:
Sean Dewar
2021-08-31 23:49:43 +01:00
parent 59c8a1fd51
commit 86593beaa4
8 changed files with 58 additions and 23 deletions

View File

@@ -86,14 +86,15 @@ describe('luaeval()', function()
-- meaningful later.
it('correctly evaluates scalars', function()
-- Also test method call (->) syntax
eq(1, funcs.luaeval('1'))
eq(0, eval('type(luaeval("1"))'))
eq(0, eval('"1"->luaeval()->type()'))
eq(1.5, funcs.luaeval('1.5'))
eq(5, eval('type(luaeval("1.5"))'))
eq(5, eval('"1.5"->luaeval()->type()'))
eq("test", funcs.luaeval('"test"'))
eq(1, eval('type(luaeval("\'test\'"))'))
eq(1, eval('"\'test\'"->luaeval()->type()'))
eq('', funcs.luaeval('""'))
eq('\000', funcs.luaeval([['\0']]))