100 lines
2.7 KiB
Lua
100 lines
2.7 KiB
Lua
local BASE_DIR
|
|
if minetest then
|
|
local LOADING_MOD = minetest.get_current_modname()
|
|
BASE_DIR = minetest.get_modpath(LOADING_MOD)
|
|
else
|
|
BASE_DIR = os.getenv("PWD")
|
|
end
|
|
|
|
local ModLib = dofile(BASE_DIR.."/lib/ModLib.lua")
|
|
ModLib.addDir(BASE_DIR.."/lib")
|
|
ModLib.addDir(BASE_DIR.."/test/lib")
|
|
|
|
local ModLib2 = dofile(BASE_DIR.."/lib/ModLib.lua")
|
|
assert(ModLib2 == ModLib)
|
|
|
|
assert(not pcall(ModLib.load, "Zoog"))
|
|
|
|
local MyLib1 = ModLib.load("MyLib", "1", "1")
|
|
local MyLib1b = ModLib.load("MyLib", "1.0", "1.0")
|
|
local MyLib1c = ModLib2.load("MyLib", "1", "1")
|
|
|
|
assert(MyLib1)
|
|
assert(MyLib1b)
|
|
assert(MyLib1 == MyLib1b)
|
|
assert(MyLib1 == MyLib1c)
|
|
assert("1" == MyLib1.VERSION)
|
|
assert("1.0" == MyLib1.v)
|
|
|
|
local MyLib1_1 = ModLib.load("MyLib", "1.1", "1.1")
|
|
|
|
assert(MyLib1_1)
|
|
assert(MyLib1_1 ~= MyLib1)
|
|
assert("1.1" == MyLib1_1.VERSION)
|
|
assert("1.1" == MyLib1_1.v)
|
|
|
|
local MyLib2 = ModLib.load("MyLib", "2.0.0.0.0.0", "2")
|
|
|
|
assert(MyLib2)
|
|
assert(MyLib2 ~= MyLib1)
|
|
assert(MyLib2 ~= MyLib1_1)
|
|
assert("2" == MyLib2.VERSION)
|
|
assert("2.0.0" == MyLib2.v)
|
|
|
|
local MyLib2_0_5 = ModLib.load("MyLib", "2.0.5", "2.0.5")
|
|
|
|
assert(MyLib2_0_5)
|
|
assert(MyLib2_0_5 ~= MyLib1)
|
|
assert(MyLib2_0_5 ~= MyLib1_1)
|
|
assert(MyLib2_0_5 ~= MyLib2)
|
|
assert("2.0.5" == MyLib2_0_5.VERSION)
|
|
assert("2.0.5" == MyLib2_0_5.v)
|
|
|
|
local MyLib_any = ModLib.load("MyLib")
|
|
|
|
assert(MyLib_any)
|
|
assert(MyLib_any == MyLib2_0_5)
|
|
|
|
local MyLib_min0_5 = ModLib.load("MyLib", "0.5")
|
|
local MyLib_min1_0_5 = ModLib.load("MyLib", "1.0.5")
|
|
local MyLib_min1_5 = ModLib.load("MyLib", "1.0.5")
|
|
local MyLib_min2 = ModLib.load("MyLib", "2")
|
|
assert(not pcall(ModLib.load, "MyLib", "3"))
|
|
|
|
assert(MyLib_min0_5)
|
|
assert(MyLib_min1_0_5)
|
|
assert(MyLib_min1_5)
|
|
assert(MyLib_min2)
|
|
assert(MyLib_min0_5 == MyLib2_0_5)
|
|
assert(MyLib_min1_0_5 == MyLib2_0_5)
|
|
assert(MyLib_min1_5 == MyLib2_0_5)
|
|
assert(MyLib_min2 == MyLib2_0_5)
|
|
|
|
assert(not pcall(ModLib.load, "MyLib", nil, "0.5"))
|
|
local MyLib_max1 = ModLib.load("MyLib", nil, "1")
|
|
local MyLib_max1_0_1 = ModLib.load("MyLib", nil, "1.0.1")
|
|
local MyLib_max1_1 = ModLib.load("MyLib", nil, "1.1")
|
|
local MyLib_max1_5 = ModLib.load("MyLib", nil, "1.5")
|
|
local MyLib_max2 = ModLib.load("MyLib", nil, "2")
|
|
local MyLib_max3 = ModLib.load("MyLib", nil, "3")
|
|
|
|
assert(MyLib_max1 == MyLib1)
|
|
assert(MyLib_max1_0_1 == MyLib1)
|
|
assert(MyLib_max1_1 == MyLib1_1)
|
|
assert(MyLib_max1_5 == MyLib1_1)
|
|
assert(MyLib_max2 == MyLib2)
|
|
assert(MyLib_max3 == MyLib2_0_5)
|
|
|
|
assert(not pcall(ModLib.load, "MyLib", "2", "1"))
|
|
local MyLib_1_to_2 = ModLib.load("MyLib", "1", "2")
|
|
local MyLib_1_1_to_2 = ModLib.load("MyLib", "1.1", "2")
|
|
local MyLib_2_to_3 = ModLib.load("MyLib", "2", "3")
|
|
assert(not pcall(ModLib.load, "MyLib", "2.5", "3"))
|
|
|
|
assert(MyLib_1_to_2)
|
|
assert(MyLib_1_to_2 == MyLib2)
|
|
assert(MyLib_1_1_to_2 == MyLib2)
|
|
assert(MyLib_2_to_3 == MyLib2_0_5)
|
|
|
|
print("ModLib tests PASSED")
|