diff options
Diffstat (limited to 'games')
-rw-r--r-- | games/minimal/mods/test/init.lua | 34 |
1 files changed, 31 insertions, 3 deletions
diff --git a/games/minimal/mods/test/init.lua b/games/minimal/mods/test/init.lua index b08ddfa94..9b826bce6 100644 --- a/games/minimal/mods/test/init.lua +++ b/games/minimal/mods/test/init.lua @@ -13,7 +13,7 @@ assert(pseudo:next() == 13854) -- HP Change Reasons -- local expect = nil -minetest.register_on_joinplayer(function(player) +local function run_hpchangereason_tests(player) expect = { type = "set_hp", from = "mod" } player:set_hp(3) assert(expect == nil) @@ -25,8 +25,7 @@ minetest.register_on_joinplayer(function(player) expect = { df = 3458973454, type = "fall", from = "mod" } player:set_hp(10, { type = "fall", df = 3458973454 }) assert(expect == nil) -end) - +end minetest.register_on_player_hpchange(function(player, hp, reason) for key, value in pairs(reason) do assert(expect[key] == value) @@ -38,3 +37,32 @@ minetest.register_on_player_hpchange(function(player, hp, reason) expect = nil end) + + + +local function run_player_meta_tests(player) + local meta = player:get_meta() + meta:set_string("foo", "bar") + assert(meta:get_string("foo") == "bar") + + local meta2 = player:get_meta() + assert(meta2:get_string("foo") == "bar") + assert(meta:equals(meta2)) + assert(player:get_attribute("foo") == "bar") + + meta:set_string("bob", "dillan") + assert(meta:get_string("foo") == "bar") + assert(meta:get_string("bob") == "dillan") + assert(meta2:get_string("foo") == "bar") + assert(meta2:get_string("bob") == "dillan") + assert(meta:equals(meta2)) + assert(player:get_attribute("foo") == "bar") + assert(player:get_attribute("bob") == "dillan") +end + +local function run_player_tests(player) + run_hpchangereason_tests(player) + run_player_meta_tests(player) + minetest.chat_send_all("All tests pass!") +end +minetest.register_on_joinplayer(run_player_tests) |