Mercurial > wow > askmrrobot
annotate Libs/LibStub/tests/test2.lua @ 7:437e54a8a483 release-1.2.12.0
Curse
author | Adam tegen <adam.tegen@gmail.com> |
---|---|
date | Tue, 20 May 2014 23:57:01 -0500 |
parents | e75889a45130 |
children |
rev | line source |
---|---|
adam@3 | 1 debugstack = debug.traceback |
adam@3 | 2 strmatch = string.match |
adam@3 | 3 |
adam@3 | 4 loadfile("../LibStub.lua")() |
adam@3 | 5 |
adam@3 | 6 for major, library in LibStub:IterateLibraries() do |
adam@3 | 7 -- check that MyLib doesn't exist yet, by iterating through all the libraries |
adam@3 | 8 assert(major ~= "MyLib") |
adam@3 | 9 end |
adam@3 | 10 |
adam@3 | 11 assert(not LibStub:GetLibrary("MyLib", true)) -- check that MyLib doesn't exist yet by direct checking |
adam@3 | 12 assert(not pcall(LibStub.GetLibrary, LibStub, "MyLib")) -- don't silently fail, thus it should raise an error. |
adam@3 | 13 local lib = LibStub:NewLibrary("MyLib", 1) -- create the lib |
adam@3 | 14 assert(lib) -- check it exists |
adam@3 | 15 assert(rawequal(LibStub:GetLibrary("MyLib"), lib)) -- verify that :GetLibrary("MyLib") properly equals the lib reference |
adam@3 | 16 |
adam@3 | 17 assert(LibStub:NewLibrary("MyLib", 2)) -- create a new version |
adam@3 | 18 |
adam@3 | 19 local count=0 |
adam@3 | 20 for major, library in LibStub:IterateLibraries() do |
adam@3 | 21 -- check that MyLib exists somewhere in the libraries, by iterating through all the libraries |
adam@3 | 22 if major == "MyLib" then -- we found it! |
adam@3 | 23 count = count +1 |
adam@3 | 24 assert(rawequal(library, lib)) -- verify that the references are equal |
adam@3 | 25 end |
adam@3 | 26 end |
adam@3 | 27 assert(count == 1) -- verify that we actually found it, and only once |