diff options
Diffstat (limited to 'tests/ltm.js')
-rw-r--r-- | tests/ltm.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tests/ltm.js b/tests/ltm.js new file mode 100644 index 0000000..e1d3e26 --- /dev/null +++ b/tests/ltm.js @@ -0,0 +1,37 @@ +/*jshint esversion: 6 */ +"use strict"; + +const test = require('tape'); +const beautify = require('js-beautify').js_beautify; + +const lua_State = require("../src/lstate.js").lua_State; +const VM = require("../src/lvm.js"); +const Table = require("../src/lobject.js").Table; + +const getState = require("./tests.js"); + + +test('__add', function (t) { + let luaCode = ` + local t = {} + setmetatable(t, {__add = function () + return "hello" + end}) + return t + 1 + `, L; + + t.plan(2); + + t.comment("Running following code: \n" + luaCode); + + t.doesNotThrow(function () { + L = getState(luaCode); + VM.luaV_execute(L); + }, "Program executed without errors"); + + t.strictEqual( + L.stack[L.top - 1].value, + "hello", + "Program output is correct" + ); +});
\ No newline at end of file |