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.
175 lines
2.8 KiB
175 lines
2.8 KiB
dofile("wow_api.lua")
|
|
dofile("LibStub.lua")
|
|
dofile("../CallbackHandler-1.0/CallbackHandler-1.0.lua")
|
|
dofile("../AceConsole-3.0/AceConsole-3.0.lua")
|
|
dofile("../AceConfig-3.0/AceConfigRegistry-3.0/AceConfigRegistry-3.0.lua")
|
|
dofile("../AceConfig-3.0/AceConfigCmd-3.0/AceConfigCmd-3.0.lua")
|
|
|
|
local ccmd = assert(LibStub("AceConfigCmd-3.0"))
|
|
local creg = assert(LibStub("AceConfigRegistry-3.0"))
|
|
|
|
|
|
local app={}
|
|
|
|
|
|
---------------- the option table!!
|
|
|
|
local opts = {
|
|
type = "group",
|
|
get = function() end,
|
|
set = function() end,
|
|
|
|
args = {
|
|
first = {
|
|
type="toggle",
|
|
name="1",
|
|
order=1
|
|
},
|
|
second = {
|
|
type="toggle",
|
|
name="2",
|
|
order=2
|
|
},
|
|
plugcmd = { -- this should never be used, we should use the plugin!
|
|
name="PlugCmdOrig",
|
|
desc="YOU SHOULD NOT SEE THIS",
|
|
type="toggle",
|
|
},
|
|
inlinegroup = {
|
|
order=70,
|
|
name="inlinegroup",
|
|
desc="An inline group",
|
|
type="group",
|
|
inline=false,
|
|
cmdInline=true, -- test that cmdInline overrides inline
|
|
args = {
|
|
inline1 = {
|
|
type="toggle",
|
|
name="inline1",
|
|
order=11,
|
|
},
|
|
inline2 = {
|
|
type="toggle",
|
|
name="inline2",
|
|
order=12,
|
|
},
|
|
ininlinegroup = {
|
|
order=1,
|
|
name="ininlinegroup",
|
|
desc="An inline inline group",
|
|
type="group",
|
|
inline=true,
|
|
args = {
|
|
ininline1 = {
|
|
type="toggle",
|
|
name="ininline1",
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
unset1 = {
|
|
type="toggle",
|
|
name="unset1",
|
|
},
|
|
unset2 = {
|
|
type="toggle",
|
|
name="unset2",
|
|
},
|
|
unset3 = {
|
|
type="toggle",
|
|
name="unset3",
|
|
},
|
|
afterunset = {
|
|
type="toggle",
|
|
name="101",
|
|
order=101
|
|
},
|
|
last1 = {
|
|
type="toggle",
|
|
name="-1",
|
|
order=-1,
|
|
},
|
|
last2 = {
|
|
type="toggle",
|
|
name="-2",
|
|
order=-2,
|
|
},
|
|
last3 = {
|
|
type="toggle",
|
|
name="-3",
|
|
order=-3,
|
|
},
|
|
last4 = {
|
|
type="toggle",
|
|
name="-4",
|
|
order=-4,
|
|
},
|
|
},
|
|
|
|
plugins = { -- test plugins
|
|
plugin1 = {
|
|
plugcmd = {
|
|
name="50",
|
|
type="toggle",
|
|
order=50
|
|
},
|
|
plugcmd2 = {
|
|
name="52",
|
|
type="toggle",
|
|
order=52
|
|
}
|
|
},
|
|
plugin2 = {
|
|
-- empty, shouldnt cause errors
|
|
},
|
|
plugin3 = {
|
|
p3cmd = {
|
|
name="51",
|
|
type="toggle",
|
|
order=51,
|
|
},
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
creg:RegisterOptionsTable("testapp", opts)
|
|
|
|
|
|
|
|
local output = {
|
|
"Arguments to", -- header
|
|
"first",
|
|
"second",
|
|
"plugcmd.*50",
|
|
"p3cmd",
|
|
"plugcmd2",
|
|
"An inline group",
|
|
"An inline inline group",
|
|
"ininline1",
|
|
"inline1",
|
|
"inline2",
|
|
"unset1",
|
|
"unset2",
|
|
"unset3",
|
|
"afterunset",
|
|
"last4",
|
|
"last3",
|
|
"last2",
|
|
"last1"
|
|
}
|
|
|
|
function ChatFrame1.AddMessage(self, txt)
|
|
-- print("> "..txt)
|
|
local str = assert(tremove(output, 1))
|
|
assert(string.match(txt, str), "Expected <"..str.."> got <"..txt..">")
|
|
end
|
|
|
|
ccmd:HandleCommand("test","testapp","")
|
|
|
|
assert(not next(output), "we didnt get all the output we expected!")
|
|
|
|
|
|
-----------------------------------------------------------------------
|
|
print "OK"
|
|
|