Module:Sandbox/BrandonXLF/Module:Map params/testcases
Appearance
![]() | This is the test cases page for the module Module:Sandbox/BrandonXLF/Module:Map params. Results of the test cases. |
-- Unit tests for [[Module:{{ROOTPAGENAME}}]]. Click talk page to run tests,.
local p = {}
local tests = {
{
name = 'Basic',
args = {'<nowiki>{{{@}}}</nowiki>'},
parentArgs = {'A', 'B', 'C'}
},
{
name = 'Separator',
args = {'<nowiki>{{{@}}}</nowiki>', sep = '{{sp}}+{{sp}}'},
parentArgs = {'A', 'B', 'C'}
},
{
name = 'Conjunction',
args = {'<nowiki>{{{@}}}</nowiki>', sep = '{{sp}}+{{sp}}', conj = '{{sp}}={{sp}}'},
parentArgs = {'A', 'B', 'C'}
},
{
name = 'Start',
args = {'<nowiki>{{{i}}} = {{{@}}}</nowiki>', start = 3, sep = ',{{sp}}'},
parentArgs = {'A', 'B', 'C', 'D', 'E'}
},
{
name = 'Extra',
args = {'<nowiki>{{{@}}}{{{suffix}}}</nowiki>', extra = 'suffix', sep = '{{sp}}+{{sp}}'},
parentArgs = {'A', 'B', 'C', suffix = 'i'}
},
{
name = 'Sparse',
args = {'<nowiki>{{{i}}} = {{{@}}}</nowiki>', sep = ',{{sp}}', sparse = 'y'},
parentArgs = {'A', 'B', 'C', 'D', [1000] = 'E'}
},
{
name = 'Sparse and start',
args = {'<nowiki>{{{i}}} = {{{@}}}</nowiki>', start = 3, sep = ',{{sp}}', sparse = 'y'},
parentArgs = {'A', 'B', 'C', 'D', [1000] = 'E'}
}
}
function p.test(frame)
local out = ''
for _, cfg in ipairs(tests) do
out = out .. '==' .. cfg.name .. '==\n'
local sourceCode = '{{#invoke:Sandbox/BrandonXLF/Module:Map params|map'
for k, v in pairs(cfg.args) do
sourceCode = sourceCode .. '|' .. k .. '=' .. v
end
sourceCode = sourceCode .. '}}'
cfg.parentArgs.sourceCode = sourceCode
out = out .. frame:callParserFunction('#tag', {'syntaxhighlight', sourceCode, lang = 'wikitext'}) .. '\n'
out = out .. '<p><div>\'\'\'Live\'\'\'</div>' .. frame:expandTemplate{
title = 'Template:Call wikitext',
args = cfg.parentArgs
} .. '</p>\n'
end
return out
end
return p