diff options
Diffstat (limited to 'tests/loslib.js')
-rw-r--r-- | tests/loslib.js | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/loslib.js b/tests/loslib.js index c460919..8555bc4 100644 --- a/tests/loslib.js +++ b/tests/loslib.js @@ -36,6 +36,71 @@ test('os.time', function (t) { }); +test('os.time (with format)', function (t) { + let luaCode = ` + return os.time({day=8,month=2,year=2015}) + `, L; + + t.plan(3); + + t.doesNotThrow(function () { + + L = lauxlib.luaL_newstate(); + + lauxlib.luaL_openlibs(L); + + lauxlib.luaL_loadstring(L, lua.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_tointeger(L, -1), + new Date(2015, 1, 8, 12, 0, 0, 0).getTime() / 1000, + "Correct element(s) on the stack" + ); + +}); + + +test('os.difftime', function (t) { + let luaCode = ` + local t1 = os.time() + local t2 = os.time() + return os.difftime(t2, t1) + `, L; + + t.plan(3); + + t.doesNotThrow(function () { + + L = lauxlib.luaL_newstate(); + + lauxlib.luaL_openlibs(L); + + lauxlib.luaL_loadstring(L, lua.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_isnumber(L, -1), + "Correct element(s) on the stack" + ); + +}); + + test('os.getenv', function (t) { let luaCode = ` return os.getenv('HOME') |