mirror of
https://github.com/luanti-org/luanti.git
synced 2025-09-15 18:57:08 +00:00
Content ID caching in Lua (#12444)
* Cache content IDs in Lua Co-authored-by: sfan5 <sfan5@live.de>
This commit is contained in:
parent
006d974c58
commit
310b12b5ed
6 changed files with 166 additions and 2 deletions
37
games/devtest/mods/unittests/content_ids.lua
Normal file
37
games/devtest/mods/unittests/content_ids.lua
Normal file
|
@ -0,0 +1,37 @@
|
|||
core.register_alias("unittests:test_content_ids_alias1", "air")
|
||||
core.register_alias("unittests:test_content_ids_alias2", "~")
|
||||
|
||||
local function test_content_ids()
|
||||
assert(core.get_content_id("air") == core.CONTENT_AIR)
|
||||
assert(core.get_content_id("unittests:test_content_ids_alias1") == core.CONTENT_AIR)
|
||||
assert(core.get_content_id("unknown") == core.CONTENT_UNKNOWN)
|
||||
assert(core.get_content_id("ignore") == core.CONTENT_IGNORE)
|
||||
|
||||
assert(core.get_name_from_content_id(core.CONTENT_AIR) == "air")
|
||||
assert(core.get_name_from_content_id(core.CONTENT_UNKNOWN) == "unknown")
|
||||
assert(core.get_name_from_content_id(core.CONTENT_IGNORE) == "ignore")
|
||||
|
||||
assert(pcall(core.get_content_id, "~") == false)
|
||||
assert(pcall(core.get_content_id, "unittests:test_content_ids_alias2") == false)
|
||||
assert(pcall(core.get_content_id) == false)
|
||||
assert(core.get_name_from_content_id(0xFFFF) == "unknown")
|
||||
assert(pcall(core.get_name_from_content_id) == false)
|
||||
end
|
||||
|
||||
-- Run while mod is loading.
|
||||
test_content_ids()
|
||||
|
||||
-- Run after mods have loaded.
|
||||
unittests.register("test_content_ids", test_content_ids)
|
||||
|
||||
-- Run in async environment.
|
||||
local function test_content_ids_async(cb)
|
||||
local function func(test_func)
|
||||
local ok, err = pcall(test_func)
|
||||
if not ok then
|
||||
return err
|
||||
end
|
||||
end
|
||||
core.handle_async(func, cb, test_content_ids)
|
||||
end
|
||||
unittests.register("test_content_ids_async", test_content_ids_async, {async=true})
|
Loading…
Add table
Add a link
Reference in a new issue