You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
118 lines
2.4 KiB
118 lines
2.4 KiB
dofile("wow_api.lua")
|
|
dofile("../LibStub/LibStub.lua")
|
|
dofile("../CallbackHandler-1.0/CallbackHandler-1.0.lua")
|
|
dofile("../AceComm-3.0/ChatThrottleLib.lua")
|
|
dofile("../AceComm-3.0/AceComm-3.0.lua")
|
|
|
|
|
|
|
|
local AceComm = LibStub("AceComm-3.0")
|
|
|
|
local addon1 = {}
|
|
|
|
AceComm:Embed(addon1)
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
-----------------------------------------------------------------------
|
|
-----------------------------------------------------------------------
|
|
--
|
|
-- Test callbacks firing delayed
|
|
--
|
|
|
|
|
|
-- Single message
|
|
|
|
local nSingle=0
|
|
addon1:SendCommMessage("single", "1234567890", "RAID", nil, "NORMAL",
|
|
function(arg,sent,total)
|
|
assert(arg=="singlearg")
|
|
nSingle=nSingle+1
|
|
assert(sent==10 and total==10)
|
|
end,
|
|
"singlearg"
|
|
)
|
|
|
|
-- Multipart message
|
|
local nMulti=0
|
|
addon1:SendCommMessage("multi", strrep("1234567890", 80), "RAID", nil, "NORMAL",
|
|
function(arg,sent,total)
|
|
assert(arg=="multiarg")
|
|
nMulti=nMulti+1
|
|
-- print(sent)
|
|
if nMulti>=1 and nMulti<=3 then
|
|
assert(sent==(255-1)*nMulti) -- 256 - \0 - \t - #prefix - [\001-\003]
|
|
elseif nMulti==4 then
|
|
assert(sent==800)
|
|
end
|
|
assert(total==800)
|
|
end,
|
|
"multiarg"
|
|
)
|
|
|
|
assert(nSingle==0)
|
|
assert(nMulti==0)
|
|
|
|
WoWAPI_FireUpdate(GetTime()+100) -- 100 seconds later
|
|
|
|
assert(nSingle==1)
|
|
assert(nMulti==4)
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
-----------------------------------------------------------------------
|
|
-----------------------------------------------------------------------
|
|
--
|
|
-- Test callbacks firing IMMEDIATELY (recursively)
|
|
--
|
|
|
|
WoWAPI_FireUpdate(GetTime()+100) -- 100 seconds later
|
|
|
|
|
|
-- Single message
|
|
|
|
local nSingle=0
|
|
addon1:SendCommMessage("single", "1234567890", "RAID", nil, "NORMAL",
|
|
function(arg,sent,total)
|
|
assert(arg=="singlearg")
|
|
nSingle=nSingle+1
|
|
assert(sent==10 and total==10)
|
|
end,
|
|
"singlearg"
|
|
)
|
|
assert(nSingle==1)
|
|
|
|
|
|
-- Multipart message
|
|
local nMulti=0
|
|
addon1:SendCommMessage("multi", strrep("1234567890", 80), "RAID", nil, "NORMAL",
|
|
function(arg,sent,total)
|
|
assert(arg=="multiarg")
|
|
nMulti=nMulti+1
|
|
-- print(sent)
|
|
if nMulti>=1 and nMulti<=3 then
|
|
assert(sent==(255-1)*nMulti) -- 256 - \0 - \t - #prefix - [\001-\003]
|
|
elseif nMulti==4 then
|
|
assert(sent==800)
|
|
end
|
|
assert(total==800)
|
|
end,
|
|
"multiarg"
|
|
)
|
|
|
|
assert(nMulti==4)
|
|
|
|
WoWAPI_FireUpdate(time()+100) -- 100 seconds later
|
|
|
|
assert(nSingle==1)
|
|
assert(nMulti==4)
|
|
|
|
|
|
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
print "OK"
|
|
|