Jump to content

Module:Sandbox/BrandonXLF/Module:Map params/testcases

From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:{{ROOTPAGENAME}}]]. Click talk page to run tests,.localp={}localTableTools=require('Module:TableTools')localtests={{name='Basic',args={'<nowiki>{{{1}}}</nowiki>'},parentArgs={'A','B','C'}},{name='Separator',args={'<nowiki>{{{1}}}</nowiki>',sep='{{sp}}+{{sp}}'},parentArgs={'A','B','C'}},{name='Whitespace separator',args={'<nowiki>* {{{1}}}</nowiki>','\n'},parentArgs={'A','B','C'}},{name='Conjunction',args={'<nowiki>{{{1}}}</nowiki>',' + ',conj='{{sp}}={{sp}}'},parentArgs={'A','B','C'}},{name='Start',args={'<nowiki>{{{i}}} = {{{1}}}</nowiki>',', ',start=3},parentArgs={'A','B','C','D','E'}},{name='Extra',args={'<nowiki>{{{1}}}{{{suffix}}}</nowiki>',' + ',extra='suffix'},parentArgs={'A','B','C',suffix='i'}},{name='Sparse',args={'<nowiki>{{{i}}} = {{{1}}}</nowiki>',', ',sparse='y'},parentArgs={'A','B','C','D',[1000]='E'}},{name='Sparse and start',args={'<nowiki>{{{i}}} = {{{1}}}</nowiki>',start=3,', ',sparse='y'},parentArgs={'A','B','C','D',[1000]='E'}},{name='Prefix',args={'<nowiki>{{{var}}}</nowiki>',' + ',prefix='var'},parentArgs={var1='A',var2='B',var3='C'}},{name='No first number',args={'<nowiki>{{{var}}}</nowiki>',' + ',prefix='var'},parentArgs={var='A',var2='B',var3='C'}},{name='First number required',args={'<nowiki>{{{var}}}</nowiki>',' + ',prefix='var',optnum='n'},parentArgs={var='A',var2='B',var3='C'}},{name='Sparse prefix',args={'<nowiki>{{{var}}}</nowiki>',' + ',prefix='var',sparse='y'},parentArgs={var1='A',var2='B',var30='C'}},{name='Sparse no number first',args={'<nowiki>{{{var}}}</nowiki>',' + ',prefix='var',sparse='y'},parentArgs={var='A',var2='B',var30='C'}},{name='Sparse first number required',args={'<nowiki>{{{var}}}</nowiki>',' + ',prefix='var',sparse='y',opnum='n'},parentArgs={var='A',var2='B',var30='C'}},{name='Multiple prefixes',args={"<nowiki>{{{i}}}{{#if:{{{header|}}}|{{sp}}('''{{{header}}}''')}} = {{{item|''No item''}}}</nowiki>",prefix1='item',prefix2='header',', ',sparse='y'},parentArgs={item3='ITM3',header3='HDR3',item4='ITM4',header5='HDR5',item100='ITM100'}},{name='Prefix extra',args={"<nowiki>{{{i}}}{{#if:{{{header|}}}|{{sp}}('''{{{header}}}''')}} = {{{item}}}</nowiki>",prefix='item',extra='header(i)',', '},parentArgs={item1='ITM1',header1='HDR1',item2='ITM2',header3='HDR3'}},{name='No expand wikitext',args={'<nowiki>{{2x|{{{1}}}}}</nowiki>',expand='n'},parentArgs={'A','B','C'}},{name='No expand without nowiki',args={'{{2x|{{{1}}}}}',expand='n'},parentArgs={'A','B','C'}},{name='Call',args={call='2x'},parentArgs={'A','B','C'}},{name='Call and whitespace separator',args={call='2x',' & '},parentArgs={'A','B','C'}}}functionjoinArgs(args)localres=''fork,vinTableTools.sortedPairs(args)dores=res..'|'..(type(k)~='number'andk..'='or'')..vendreturnresendfunctionp.test(frame)localout=''for_,cfginipairs(tests)doout=out..'=='..cfg.name..'==\n'localparamsStr=joinArgs(cfg.args)localparentParamsStr=joinArgs(cfg.parentArgs)localsourceCode='{{#invoke:Sandbox/BrandonXLF/Module:Map params|map'..paramsStr..'}}'cfg.parentArgs.sourceCode=sourceCodeout=out..frame:callParserFunction('#tag',{'syntaxhighlight',sourceCode,lang='wikitext'})..'\n'out=out..frame:callParserFunction('#tag',{'syntaxhighlight','{{_TEMPLATE_'..parentParamsStr..'}}',lang='wikitext'})..'\n'localres=frame:expandTemplate{title='Template:Call wikitext',args=cfg.parentArgs}out=out.."<p>'''Live'''<br>"..(res~=''andresor"''No output''").."</p>"..'\n'endreturnoutendreturnp
close