mirror of
https://github.com/bryanthaboi/gen1recomp.git
synced 2026-08-12 08:21:02 +02:00
38 lines
1.4 KiB
Lua
38 lines
1.4 KiB
Lua
package.path = "./?.lua;./?/init.lua;" .. package.path
|
|
|
|
local T = require("tests.modkit")
|
|
|
|
local FIXTURE = {
|
|
["mods/date_probe/manifest.json"] = [[{
|
|
"id": "date_probe",
|
|
"name": "Date Probe",
|
|
"version": "1.0.0",
|
|
"entry": "main.lua",
|
|
"api": 2
|
|
}]],
|
|
["mods/date_probe/main.lua"] = [[
|
|
local mod = ...
|
|
mod.exports.datetime = mod.datetime
|
|
]],
|
|
}
|
|
|
|
local run = T.sdk.loadMods({ "mods/date_probe" }, { fs = T.sdk.memfs(FIXTURE) })
|
|
T.eq(#run.errors, 0, "fixture mod loads cleanly")
|
|
local datetime = run.loader.exports.date_probe.datetime
|
|
T.eq(type(datetime), "table", "mod object exposes datetime formatting")
|
|
T.eq(type(datetime.date), "function", "public formatter exposes date")
|
|
T.eq(type(datetime.time), "function", "public formatter exposes time")
|
|
T.eq(type(datetime.dateTime), "function", "public formatter exposes date-time")
|
|
|
|
local stamp = os.time({ year = 2026, month = 8, day = 11, hour = 17, min = 5, sec = 0 })
|
|
local game = { save = { options = { dateFormat = "dmy", timeFormat = "24h" } } }
|
|
T.eq(datetime:date(game, stamp), os.date("%d-%m-%Y", stamp),
|
|
"mod date follows current global engine preference")
|
|
T.eq(datetime:time(game, stamp), os.date("%H:%M", stamp),
|
|
"mod time follows current global engine preference")
|
|
T.eq(datetime:dateTime(game, stamp), os.date("%d-%m-%Y %H:%M", stamp),
|
|
"mod date-time composes the same preference")
|
|
|
|
run.release()
|
|
T.finish("date_time")
|