mirror of
https://github.com/OTCv8/otclientv8.git
synced 2025-10-20 06:33:26 +02:00
OTCv8 3.0 rev 2
This commit is contained in:
@@ -31,4 +31,4 @@ Module
|
||||
dofile 'base64'
|
||||
dofile 'json'
|
||||
dofile 'http'
|
||||
|
||||
dofile 'test'
|
||||
|
62
modules/corelib/test.lua
Normal file
62
modules/corelib/test.lua
Normal file
@@ -0,0 +1,62 @@
|
||||
Test = {
|
||||
tests = {},
|
||||
activeTest = 0,
|
||||
screenShot = 1
|
||||
}
|
||||
|
||||
Test.Test = function(name, func)
|
||||
local testId = #Test.tests + 1
|
||||
Test.tests[testId] = {
|
||||
name = name,
|
||||
actions = {},
|
||||
delay = 0,
|
||||
start = 0
|
||||
}
|
||||
local test = function(testFunc)
|
||||
table.insert(Test.tests[testId].actions, {type = "test", value = testFunc})
|
||||
end
|
||||
local wait = function(millis)
|
||||
Test.tests[testId].delay = Test.tests[testId].delay + millis
|
||||
table.insert(Test.tests[testId].actions, {type = "wait", value = Test.tests[testId].delay})
|
||||
end
|
||||
local ss = function()
|
||||
table.insert(Test.tests[testId].actions, {type = "screenshot"})
|
||||
end
|
||||
local fail = function(message)
|
||||
g_logger.fatal("Test " .. name .. " failed: " .. message)
|
||||
end
|
||||
func(test, wait, ss, fail)
|
||||
end
|
||||
|
||||
Test.run = function()
|
||||
if Test.activeTest > #Test.tests then
|
||||
g_logger.info("[TEST] Finished tests. Exiting...")
|
||||
return g_app.exit()
|
||||
end
|
||||
local test = Test.tests[Test.activeTest]
|
||||
if not test or #test.actions == 0 then
|
||||
Test.activeTest = Test.activeTest + 1
|
||||
local nextTest = Test.tests[Test.activeTest]
|
||||
if nextTest then
|
||||
nextTest.start = g_clock.millis()
|
||||
g_logger.info("[TEST] Starting test: " .. nextTest.name)
|
||||
end
|
||||
return scheduleEvent(Test.run, 500)
|
||||
end
|
||||
|
||||
local action = test.actions[1]
|
||||
if action.type == "test" then
|
||||
table.remove(test.actions, 1)
|
||||
action.value()
|
||||
elseif action.type == "screenshot" then
|
||||
table.remove(test.actions, 1)
|
||||
g_app.doScreenshot(Test.screenShot .. ".png")
|
||||
Test.screenShot = Test.screenShot + 1
|
||||
elseif action.type == "wait" then
|
||||
if action.value + test.start < g_clock.millis() then
|
||||
table.remove(test.actions, 1)
|
||||
end
|
||||
end
|
||||
|
||||
scheduleEvent(Test.run, 100)
|
||||
end
|
@@ -194,12 +194,20 @@ function UIMiniWindowContainer:order()
|
||||
if not children[i].miniLoaded then return end
|
||||
end
|
||||
|
||||
table.sort(children, function(a, b)
|
||||
local indexA = a.miniIndex or a.autoOpen or 999
|
||||
local indexB = b.miniIndex or b.autoOpen or 999
|
||||
return indexA < indexB
|
||||
end)
|
||||
|
||||
self:reorderChildren(children)
|
||||
local ignoreIndex = 0
|
||||
for i=1,#children do
|
||||
if children[i].miniIndex then
|
||||
self:swapInsert(children[i], children[i].miniIndex)
|
||||
elseif children[i].autoOpen then
|
||||
self:swapInsert(children[i], children[i].autoOpen)
|
||||
end
|
||||
if children[i].save then
|
||||
children[i].miniIndex = i - ignoreIndex
|
||||
else
|
||||
ignoreIndex = ignoreIndex + 1
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user