<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FBrandonXLF%2FModule%3AMap_params%2Ftestcases</id>
	<title>Module:Sandbox/BrandonXLF/Module:Map params/testcases - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://70.231.62.181/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FBrandonXLF%2FModule%3AMap_params%2Ftestcases"/>
	<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Module:Sandbox/BrandonXLF/Module:Map_params/testcases&amp;action=history"/>
	<updated>2026-04-21T09:52:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>http://70.231.62.181/index.php?title=Module:Sandbox/BrandonXLF/Module:Map_params/testcases&amp;diff=24324436&amp;oldid=prev</id>
		<title>imported&gt;Jonesey95: Fix Linter errors.</title>
		<link rel="alternate" type="text/html" href="http://70.231.62.181/index.php?title=Module:Sandbox/BrandonXLF/Module:Map_params/testcases&amp;diff=24324436&amp;oldid=prev"/>
		<updated>2024-12-20T20:43:36Z</updated>

		<summary type="html">&lt;p&gt;Fix &lt;a href=&quot;/index.php/Special:LintErrors&quot; title=&quot;Special:LintErrors&quot;&gt;Linter&lt;/a&gt; errors.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Unit tests for [[Module:{{ROOTPAGENAME}}]]. Click talk page to run tests,.&lt;br /&gt;
local p = {}&lt;br /&gt;
local TableTools = require(&amp;#039;Module:TableTools&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
local tests = {&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Basic&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Separator&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, sep = &amp;#039;{{sp}}+{{sp}}&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Whitespace separator&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;* {{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039;\n&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Conjunction&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, conj = &amp;#039;{{sp}}={{sp}}&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Start&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{i}}} = {{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039;, &amp;#039;, start = 3},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;D&amp;#039;, &amp;#039;E&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Extra&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{1}}}{{{suffix}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, extra = &amp;#039;suffix&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;, suffix = &amp;#039;i&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Sparse&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{i}}} = {{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039;, &amp;#039;, sparse = &amp;#039;y&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;D&amp;#039;, [1000] = &amp;#039;E&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Sparse and start&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{i}}} = {{{1}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, start = 3, &amp;#039;, &amp;#039;, sparse = &amp;#039;y&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;D&amp;#039;, [1000] = &amp;#039;E&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Prefix&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{var}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, prefix = &amp;#039;var&amp;#039;},&lt;br /&gt;
		parentArgs = {var1 = &amp;#039;A&amp;#039;, var2 = &amp;#039;B&amp;#039;, var3 = &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;No first number&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{var}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, prefix = &amp;#039;var&amp;#039;},&lt;br /&gt;
		parentArgs = {var = &amp;#039;A&amp;#039;, var2 = &amp;#039;B&amp;#039;, var3 = &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;First number required&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{var}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, prefix = &amp;#039;var&amp;#039;, optnum = &amp;#039;n&amp;#039;},&lt;br /&gt;
		parentArgs = {var = &amp;#039;A&amp;#039;, var2 = &amp;#039;B&amp;#039;, var3 = &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Sparse prefix&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{var}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, prefix = &amp;#039;var&amp;#039;, sparse = &amp;#039;y&amp;#039;},&lt;br /&gt;
		parentArgs = {var1 = &amp;#039;A&amp;#039;, var2 = &amp;#039;B&amp;#039;, var30 = &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Sparse no number first&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{var}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, prefix = &amp;#039;var&amp;#039;, sparse = &amp;#039;y&amp;#039;},&lt;br /&gt;
		parentArgs = {var = &amp;#039;A&amp;#039;, var2 = &amp;#039;B&amp;#039;, var30 = &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Sparse first number required&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{{var}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, &amp;#039; + &amp;#039;, prefix = &amp;#039;var&amp;#039;, sparse = &amp;#039;y&amp;#039;, opnum = &amp;#039;n&amp;#039;},&lt;br /&gt;
		parentArgs = {var = &amp;#039;A&amp;#039;, var2 = &amp;#039;B&amp;#039;, var30 = &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Multiple prefixes&amp;#039;,&lt;br /&gt;
		args = {&lt;br /&gt;
			&amp;quot;&amp;lt;nowiki&amp;gt;{{{i}}}{{#if:{{{header|}}}|{{sp}}(&amp;#039;&amp;#039;&amp;#039;{{{header}}}&amp;#039;&amp;#039;&amp;#039;)}} = {{{item|&amp;#039;&amp;#039;No item&amp;#039;&amp;#039;}}}&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
			prefix1 = &amp;#039;item&amp;#039;, prefix2 = &amp;#039;header&amp;#039;, &amp;#039;, &amp;#039;, sparse = &amp;#039;y&amp;#039;&lt;br /&gt;
		},&lt;br /&gt;
		parentArgs = {item3 = &amp;#039;ITM3&amp;#039;, header3 = &amp;#039;HDR3&amp;#039;, item4 = &amp;#039;ITM4&amp;#039;, header5 = &amp;#039;HDR5&amp;#039;, item100 = &amp;#039;ITM100&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Prefix extra&amp;#039;,&lt;br /&gt;
		args = {&lt;br /&gt;
			&amp;quot;&amp;lt;nowiki&amp;gt;{{{i}}}{{#if:{{{header|}}}|{{sp}}(&amp;#039;&amp;#039;&amp;#039;{{{header}}}&amp;#039;&amp;#039;&amp;#039;)}} = {{{item}}}&amp;lt;/nowiki&amp;gt;&amp;quot;,&lt;br /&gt;
			prefix = &amp;#039;item&amp;#039;, extra = &amp;#039;header(i)&amp;#039;, &amp;#039;, &amp;#039;&lt;br /&gt;
		},&lt;br /&gt;
		parentArgs = {item1 = &amp;#039;ITM1&amp;#039;, header1 = &amp;#039;HDR1&amp;#039;, item2 = &amp;#039;ITM2&amp;#039;, header3 = &amp;#039;HDR3&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;No expand wikitext&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;&amp;lt;nowiki&amp;gt;{{2x|{{{1}}}}}&amp;lt;/nowiki&amp;gt;&amp;#039;, expand = &amp;#039;n&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;No expand without nowiki&amp;#039;,&lt;br /&gt;
		args = {&amp;#039;{{2x|{{{1}}}}}&amp;#039;, expand = &amp;#039;n&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Call&amp;#039;,&lt;br /&gt;
		args = {call = &amp;#039;2x&amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	},&lt;br /&gt;
	{&lt;br /&gt;
		name = &amp;#039;Call and whitespace separator&amp;#039;,&lt;br /&gt;
		args = {call = &amp;#039;2x&amp;#039;, &amp;#039; &amp;amp; &amp;#039;},&lt;br /&gt;
		parentArgs = {&amp;#039;A&amp;#039;, &amp;#039;B&amp;#039;, &amp;#039;C&amp;#039;}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function joinArgs(args)&lt;br /&gt;
	local res = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	for k, v in TableTools.sortedPairs(args) do&lt;br /&gt;
		res = res .. &amp;#039;|&amp;#039; .. (type(k) ~= &amp;#039;number&amp;#039; and k .. &amp;#039;=&amp;#039; or &amp;#039;&amp;#039;) .. v&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return res&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.test(frame)&lt;br /&gt;
	local out = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	for _, cfg in ipairs(tests) do&lt;br /&gt;
		out = out .. &amp;#039;==&amp;#039; .. cfg.name .. &amp;#039;==\n&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		local paramsStr = joinArgs(cfg.args)&lt;br /&gt;
		local parentParamsStr = joinArgs(cfg.parentArgs)&lt;br /&gt;
		local sourceCode = &amp;#039;{{#invoke:Sandbox/BrandonXLF/Module:Map params|map&amp;#039; .. paramsStr .. &amp;#039;}}&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		cfg.parentArgs.sourceCode = sourceCode&lt;br /&gt;
		&lt;br /&gt;
		out = out .. frame:callParserFunction(&lt;br /&gt;
			&amp;#039;#tag&amp;#039;,&lt;br /&gt;
			{&amp;#039;syntaxhighlight&amp;#039;, sourceCode, lang = &amp;#039;wikitext&amp;#039;}&lt;br /&gt;
		) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
&lt;br /&gt;
		out = out .. frame:callParserFunction(&lt;br /&gt;
			&amp;#039;#tag&amp;#039;,&lt;br /&gt;
			{&amp;#039;syntaxhighlight&amp;#039;, &amp;#039;{{_TEMPLATE_&amp;#039; .. parentParamsStr .. &amp;#039;}}&amp;#039;, lang = &amp;#039;wikitext&amp;#039;}&lt;br /&gt;
		) .. &amp;#039;\n&amp;#039;&lt;br /&gt;
		&lt;br /&gt;
		local res = frame:expandTemplate{&lt;br /&gt;
			title = &amp;#039;Template:Call wikitext&amp;#039;,&lt;br /&gt;
			args = cfg.parentArgs&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		out = out .. &amp;quot;&amp;lt;p&amp;gt;&amp;#039;&amp;#039;&amp;#039;Live&amp;#039;&amp;#039;&amp;#039;&amp;lt;br&amp;gt;&amp;quot; .. (res ~= &amp;#039;&amp;#039; and res or &amp;quot;&amp;#039;&amp;#039;No output&amp;#039;&amp;#039;&amp;quot;) .. &amp;quot;&amp;lt;/p&amp;gt;&amp;quot; .. &amp;#039;\n&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return out&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Jonesey95</name></author>
	</entry>
</feed>