diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-15 17:52:46 +0100 |
---|---|---|
committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-15 17:57:10 +0100 |
commit | 43474e4c411709e3c1ab1b1d13283d2bc4789d1d (patch) | |
tree | de0e6767f9a5348ddcd58d1ac80c24688125d262 | |
parent | c428f1241ebd5194a37c37d9d5376b326b78ee37 (diff) | |
download | fengari-43474e4c411709e3c1ab1b1d13283d2bc4789d1d.tar.gz fengari-43474e4c411709e3c1ab1b1d13283d2bc4789d1d.tar.bz2 fengari-43474e4c411709e3c1ab1b1d13283d2bc4789d1d.zip |
lapi tests
-rw-r--r-- | .gdb_history | 4 | ||||
-rw-r--r-- | .gitignore | 3 | ||||
-rw-r--r-- | tests/C/lua_pushnil.c | 21 | ||||
-rw-r--r-- | tests/lapi.js | 32 | ||||
-rw-r--r-- | tests/tests.js | 2 |
5 files changed, 60 insertions, 2 deletions
diff --git a/.gdb_history b/.gdb_history new file mode 100644 index 0000000..a3bbc49 --- /dev/null +++ b/.gdb_history @@ -0,0 +1,4 @@ +b 13 +r +dashboard -layout source +s @@ -39,4 +39,5 @@ jspm_packages # JSDoc help -luac.out
\ No newline at end of file +*.out +*.dSYM
\ No newline at end of file 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; |