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