tercio@0: debugstack = debug.traceback tercio@0: strmatch = string.match tercio@0: tercio@0: loadfile("../LibStub.lua")() tercio@0: tercio@0: tercio@0: -- Pretend like loaded libstub is old and doesn't have :IterateLibraries tercio@0: assert(LibStub.minor) tercio@0: LibStub.minor = LibStub.minor - 0.0001 tercio@0: LibStub.IterateLibraries = nil tercio@0: tercio@0: loadfile("../LibStub.lua")() tercio@0: tercio@0: assert(type(LibStub.IterateLibraries)=="function") tercio@0: tercio@0: tercio@0: -- Now pretend that we're the same version -- :IterateLibraries should NOT be re-created tercio@0: LibStub.IterateLibraries = 123 tercio@0: tercio@0: loadfile("../LibStub.lua")() tercio@0: tercio@0: assert(LibStub.IterateLibraries == 123) tercio@0: tercio@0: tercio@0: -- Now pretend that a newer version is loaded -- :IterateLibraries should NOT be re-created tercio@0: LibStub.minor = LibStub.minor + 0.0001 tercio@0: tercio@0: loadfile("../LibStub.lua")() tercio@0: tercio@0: assert(LibStub.IterateLibraries == 123) tercio@0: tercio@0: tercio@0: -- Again with a huge number tercio@0: LibStub.minor = LibStub.minor + 1234567890 tercio@0: tercio@0: loadfile("../LibStub.lua")() tercio@0: tercio@0: assert(LibStub.IterateLibraries == 123) tercio@0: tercio@0: tercio@0: print("OK")