diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/C/lua_pushnil.c | 21 | ||||
-rw-r--r-- | tests/lapi.js | 32 | ||||
-rw-r--r-- | tests/tests.js | 2 |
3 files changed, 54 insertions, 1 deletions
diff --git a/tests/C/lua_pushnil.c b/tests/C/lua_pushnil.c new file mode 100644 index 0000000..bb31246 --- /dev/null +++ b/tests/C/lua_pushnil.c @@ -0,0 +1,21 @@ +#include <lua.h> +#include <lualib.h> +#include <lauxlib.h> +#include <stdlib.h> +#include <stdio.h> + +int main(void) { + + lua_State *L = luaL_newstate(); + + luaL_openlibs(L); + + lua_pushnil(L); + + printf("L->top(%d): %s\n", lua_gettop(L), luaL_typename(L, lua_gettop(L))); + + lua_close(L); + + return 0; + +}
\ No newline at end of file diff --git a/tests/lapi.js b/tests/lapi.js new file mode 100644 index 0000000..2f493c9 --- /dev/null +++ b/tests/lapi.js @@ -0,0 +1,32 @@ +/*jshint esversion: 6 */ +"use strict"; + +const test = require('tape'); +const beautify = require('js-beautify').js_beautify; + +const getState = require("./tests.js").getState; + +const VM = require("../src/lvm.js"); +const ldo = require("../src/ldo.js"); +const lapi = require("../src/lapi.js"); +const CT = require('../src/lua.js').constant_types; + +test('lua_pushnil', function (t) { + let L; + + t.plan(3); + + t.doesNotThrow(function () { + L = getState(`return "dummy"`); + }, "New Lua State initiliazed"); + + // t.doesNotThrow(function () { + lapi.lua_pushnil(L); + // }, "Pushed nil on the stack"); + + t.strictEqual( + L.stack[L.top - 1].type, + CT.LUA_TNIL, + "nil is on the stack" + ); +});
\ No newline at end of file diff --git a/tests/tests.js b/tests/tests.js index 97ca6b4..9994ad5 100644 --- a/tests/tests.js +++ b/tests/tests.js @@ -29,7 +29,7 @@ const toByteCode = function (luaCode) { }; }; -const getState = function (luaCode) { +const getState = function(luaCode) { var bc = toByteCode(luaCode), dv = bc.dataView, bcl = bc.bclist; |