41 lines
1.8 KiB
Lua
41 lines
1.8 KiB
Lua
local callbacks = {}
|
|
local auras = {}
|
|
local removed = 0
|
|
local pending = {}
|
|
Cursive = { nampower = true, db = {profile = {enabled=true,useclassicapi=true}},
|
|
core = {addGuid=function() end},
|
|
curses = {trackedCurseIds={[172]={name="corruption",rank=1}},guids={},pendingCast=pending} }
|
|
function Cursive.curses:ApplyCurse(id,guid,start,duration)
|
|
self.pendingCast = {}
|
|
self.guids[guid] = self.guids[guid] or {}
|
|
self.guids[guid].corruption = {currentPlayer=true,start=start,duration=duration}
|
|
end
|
|
function Cursive.curses:RemoveCurse(guid,name) self.guids[guid][name]=nil; removed=removed+1 end
|
|
function CreateFrame() return {RegisterEvent=function() end,SetScript=function(self,key,fn) callbacks[key]=fn end} end
|
|
function UnitExists(unit) return true,"mob" end
|
|
function UnitIsUnit(a,b) return a==b end
|
|
function GetTime() return 100 end
|
|
C_UnitAuras = {
|
|
GetAuraSlots=function(unit,filter,a,b,out) for i=1,table.getn(auras) do out[i]=i end; return nil,table.getn(auras) end,
|
|
UnitAuraBySlot=function(unit,slot) return unpack(auras[slot]) end,
|
|
GetAuraDataByAuraInstanceID=function() end,
|
|
}
|
|
dofile("classicapi.lua")
|
|
auras[1]={"Corruption","icon",1,"Magic",18,118,"player",false,false,172}
|
|
Cursive.ReconcileClassicAuras("target")
|
|
assert(Cursive.curses.guids.mob.corruption.start==100)
|
|
auras[1][6]=125
|
|
Cursive.ReconcileClassicAuras("target")
|
|
assert(Cursive.curses.guids.mob.corruption.start==107)
|
|
auras={}
|
|
Cursive.ReconcileClassicAuras("target")
|
|
assert(removed==1)
|
|
Cursive.curses.guids.mob.corruption={currentPlayer=true}
|
|
Cursive.ReconcileClassicAuras("target")
|
|
assert(Cursive.curses.guids.mob.corruption)
|
|
auras[1]={"Corruption","icon",1,"Magic",18,118,"party1",false,false,172}
|
|
Cursive.ReconcileClassicAuras("target")
|
|
assert(not Cursive.curses.guids.mob.corruption.classicConfirmed)
|
|
C_UnitAuras=nil
|
|
Cursive.ReconcileClassicAuras("target")
|
|
print("ClassicAPI reconciliation tests passed") |