diff options
Diffstat (limited to 'tests/loadlib.js')
-rw-r--r-- | tests/loadlib.js | 130 |
1 files changed, 0 insertions, 130 deletions
diff --git a/tests/loadlib.js b/tests/loadlib.js deleted file mode 100644 index dba2a3a..0000000 --- a/tests/loadlib.js +++ /dev/null @@ -1,130 +0,0 @@ -"use strict"; - -const test = require('tape'); - -const lua = require('../src/lua.js'); -const lauxlib = require('../src/lauxlib.js'); -const lualib = require('../src/lualib.js'); -const {to_luastring} = require("../src/fengaricore.js"); - -test('require an existing module', function (t) { - let luaCode = ` - return require('os') - `, L; - - t.plan(3); - - t.doesNotThrow(function () { - - L = lauxlib.luaL_newstate(); - - lualib.luaL_openlibs(L); - - lauxlib.luaL_loadstring(L, to_luastring(luaCode)); - - }, "Lua program loaded without error"); - - t.doesNotThrow(function () { - - lua.lua_call(L, 0, -1); - - }, "Lua program ran without error"); - - t.ok( - lua.lua_istable(L, -1), - "Correct element(s) on the stack" - ); -}); - - -test('require a file', function (t) { - let luaCode = ` - return require('tests/module-hello')() - `, L; - - t.plan(3); - - t.doesNotThrow(function () { - - L = lauxlib.luaL_newstate(); - - lualib.luaL_openlibs(L); - - lauxlib.luaL_loadstring(L, to_luastring(luaCode)); - - }, "Lua program loaded without error"); - - t.doesNotThrow(function () { - - lua.lua_call(L, 0, -1); - - }, "Lua program ran without error"); - - t.strictEqual( - lua.lua_tojsstring(L, -1), - "hello from module", - "Correct element(s) on the stack" - ); -}); - - -test('package.loadlib', function (t) { - let luaCode = ` - return package.loadlib('./tests/lib-hello.js.mod', 'hello')() - `, L; - - t.plan(3); - - t.doesNotThrow(function () { - - L = lauxlib.luaL_newstate(); - - lualib.luaL_openlibs(L); - - lauxlib.luaL_loadstring(L, to_luastring(luaCode)); - - }, "Lua program loaded without error"); - - t.doesNotThrow(function () { - - lua.lua_call(L, 0, -1); - - }, "Lua program ran without error"); - - t.strictEqual( - lua.lua_tojsstring(L, -1), - "hello from js lib", - "Correct element(s) on the stack" - ); -}); - - -test('package.searchpath', function (t) { - let luaCode = ` - return package.searchpath('module-hello', './?.lua;./tests/?.lua') - `, L; - - t.plan(3); - - t.doesNotThrow(function () { - - L = lauxlib.luaL_newstate(); - - lualib.luaL_openlibs(L); - - lauxlib.luaL_loadstring(L, to_luastring(luaCode)); - - }, "Lua program loaded without error"); - - t.doesNotThrow(function () { - - lua.lua_call(L, 0, -1); - - }, "Lua program ran without error"); - - t.strictEqual( - lua.lua_tojsstring(L, -1), - "./tests/module-hello.lua", - "Correct element(s) on the stack" - ); -}); |