57 lines
2.7 KiB
Lua
57 lines
2.7 KiB
Lua
local register_test = test_harness.get_test_registrator("test_harness")
|
|
local vec = vector.new
|
|
|
|
register_test("Tests utilities for players")
|
|
|
|
register_test("save_players", function()
|
|
|
|
local player1 = minetest.get_player_by_name("player1")
|
|
local itemstack = ItemStack("default:stone 30")
|
|
player1:get_inventory():add_item("main", itemstack)
|
|
|
|
local player_data = test_harness.save_players({"player1"})
|
|
|
|
assert(player_data ~= nil)
|
|
assert(player_data["player1"] ~= nil)
|
|
assert(player_data["player1"].position ~= nil)
|
|
assert(player_data["player1"].position == vec(0,0,0))
|
|
assert(player_data["player1"].privs ~= nil)
|
|
assert(player_data["player1"].inventory ~= nil)
|
|
assert(player_data["player1"].inventory.main ~= nil)
|
|
assert(#player_data["player1"].inventory.main > 0)
|
|
assert(player_data["player1"].inventory.main[1] ~= nil)
|
|
assert(player_data["player1"].inventory.main[1]:get_name() == "default:stone")
|
|
assert(player_data["player1"].inventory.main[1]:get_count() == 30)
|
|
|
|
end, { players={ "player1" },})
|
|
|
|
|
|
register_test("restore_players", function()
|
|
|
|
|
|
local player_data = { ["player1"] = {
|
|
position= vec(1,2,3),
|
|
privs= { ["noclip"] = true,["interact"] = true,["debug"] = true,["fly"] = true,["basic_debug"] = true, ["shout"] = true },
|
|
inventory= {
|
|
["craftpreview"] = { ItemStack("") },
|
|
["craftresult"] = { ItemStack(""),} ,
|
|
["main"] = { ItemStack("default:stone 30"), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""),} ,
|
|
["craft"] = { ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""), ItemStack(""),} ,
|
|
}
|
|
} }
|
|
local player1 = minetest.get_player_by_name("player1")
|
|
|
|
assert(not (player1:get_inventory():contains_item("main", "default:stone")))
|
|
assert(player1:get_pos() == vec(0,0,0))
|
|
assert(minetest.get_player_privs("player1")["fast"])
|
|
assert(not minetest.get_player_privs("player1")["shout"])
|
|
|
|
test_harness.restore_players(player_data)
|
|
|
|
assert(player1:get_inventory():contains_item("main", "default:stone"))
|
|
assert(player1:get_pos() == vec(1,2,3))
|
|
assert(minetest.get_player_privs("player1")["shout"])
|
|
assert(not minetest.get_player_privs("player1")["fast"])
|
|
|
|
|
|
end, { players={ "player1" },}) |