diff options
author | daurnimator <quae@daurnimator.com> | 2018-04-20 22:04:26 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2018-04-20 22:04:26 +1000 |
commit | 6934a870564f8fd2d5cd7df3446e293d070c9a9e (patch) | |
tree | 52e3faf0dfa3cd67af52bf6268721f5e9b93e0c4 /test | |
parent | a260f381d30e036b39078fee0295e539067c10a3 (diff) | |
download | fengari-6934a870564f8fd2d5cd7df3446e293d070c9a9e.tar.gz fengari-6934a870564f8fd2d5cd7df3446e293d070c9a9e.tar.bz2 fengari-6934a870564f8fd2d5cd7df3446e293d070c9a9e.zip |
src/loslib.js: Fix os.time() with out-of-range values
Fixes #126
Diffstat (limited to 'test')
-rw-r--r-- | test/loslib.test.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/test/loslib.test.js b/test/loslib.test.js index a270d49..5f06a06 100644 --- a/test/loslib.test.js +++ b/test/loslib.test.js @@ -84,6 +84,27 @@ test('os.date', () => { }); +test('os.date normalisation', () => { + let L = lauxlib.luaL_newstate(); + if (!L) throw Error("failed to create lua state"); + + let luaCode = ` + return os.date('%Y-%m-%d', os.time({ + day = 0, + month = 0, + year = 2014 + })) + `; + { + lualib.luaL_openlibs(L); + expect(lauxlib.luaL_loadstring(L, to_luastring(luaCode))).toBe(lua.LUA_OK); + lua.lua_call(L, 0, -1); + } + + expect(lua.lua_tojsstring(L, -1)).toBe("2013-11-30"); +}); + + test('os.getenv', () => { let L = lauxlib.luaL_newstate(); if (!L) throw Error("failed to create lua state"); |