diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-03 15:59:29 +0100 |
---|---|---|
committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-03 16:16:23 +0100 |
commit | b618b835c74a8637e00ba1f4adf6b8884d360d43 (patch) | |
tree | 1fae753a1fd2d3cc1da33e2989bbbb1ce0a9f6aa /tests/lvm.js | |
parent | 2cf246d68c5e658eb6c36a00ac35c7862a54e90e (diff) | |
download | fengari-b618b835c74a8637e00ba1f4adf6b8884d360d43.tar.gz fengari-b618b835c74a8637e00ba1f4adf6b8884d360d43.tar.bz2 fengari-b618b835c74a8637e00ba1f4adf6b8884d360d43.zip |
Table, metatable
Diffstat (limited to 'tests/lvm.js')
-rw-r--r-- | tests/lvm.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/lvm.js b/tests/lvm.js index 6a4ed9f..1dbff2e 100644 --- a/tests/lvm.js +++ b/tests/lvm.js @@ -10,6 +10,7 @@ const DataView = require('buffer-dataview'); const BytecodeParser = require("../src/lundump.js"); const lua_State = require("../src/lstate.js").lua_State; const LuaVM = require("../src/lvm.js").LuaVM; +const Table = require("../src/lobject.js").Table; const toByteCode = function (luaCode) { var luaFile = tmp.fileSync(), @@ -134,4 +135,26 @@ test('Unary op, LOADBOOL', function (t) { [-5, true, -6], "Program output is correct" ); +}); + + +test('NEWTABLE', function (t) { + let luaCode = ` + local a = {} + return a + `, vm; + + t.plan(2); + + t.comment("Running following code: \n" + luaCode); + + t.doesNotThrow(function () { + vm = getVM(luaCode); + vm.execute(); + }, "Program executed without errors"); + + t.ok( + vm.L.stack[0] instanceof Table, + "Program output is correct" + ); });
\ No newline at end of file |