Module talk:For params/testcases
Add topicBasic
{{#invoke:For params|main|<nowiki>{{{1}}}</nowiki>}}
{{_TEMPLATE_|A|B|C}}
Live
ABC
Sandbox
ABC
No parent args
{{#invoke:For params|main|<nowiki>{{{1}}}</nowiki>}}
{{_TEMPLATE_}}
Live
No output
Sandbox
No output
Separator
{{#invoke:For params|main|<nowiki>{{{1}}}</nowiki>|sep={{sp}}+{{sp}}}}
{{_TEMPLATE_|A|B|C}}
Live
A + B + C
Sandbox
A + B + C
Whitespace separator
{{#invoke:For params|main|<nowiki>* {{{1}}}</nowiki>|
}}
{{_TEMPLATE_|A|B|C}}
Live
- A
- B
- C
Sandbox
- A
- B
- C
Conjunction
{{#invoke:For params|main|<nowiki>{{{1}}}</nowiki>| + |conj={{sp}}={{sp}}}}
{{_TEMPLATE_|A|B|C}}
Live
A + B = C
Sandbox
A + B = C
Start
{{#invoke:For params|main|<nowiki>{{{i}}} = {{{1}}}</nowiki>|, |start=3}}
{{_TEMPLATE_|A|B|C|D|E}}
Live
3 = C, 4 = D, 5 = E
Sandbox
3 = C, 4 = D, 5 = E
Fixed
{{#invoke:For params|main|<nowiki>{{{1}}}{{{suffix}}}</nowiki>| + |fixed=suffix}}
{{_TEMPLATE_|A|B|C|suffix=i}}
Live
Ai + Bi + Ci
Sandbox
Ai + Bi + Ci
Sparse
{{#invoke:For params|main|<nowiki>{{{i}}} = {{{1}}}</nowiki>|, |sparse=y}}
{{_TEMPLATE_|A|B|C|D|E}}
Live
1 = A, 2 = B, 3 = C, 4 = D, 1000 = E
Sandbox
1 = A, 2 = B, 3 = C, 4 = D, 1000 = E
Sparse and start
{{#invoke:For params|main|<nowiki>{{{i}}} = {{{1}}}</nowiki>|, |sparse=y|start=3}}
{{_TEMPLATE_|A|B|C|D|E}}
Live
3 = C, 4 = D, 1000 = E
Sandbox
3 = C, 4 = D, 1000 = E
No index
{{#invoke:For params|main|<nowiki>{{{i}}} should not be substituted</nowiki>.| |noindex=y}}
{{_TEMPLATE_|A|B|C}}
Live
{{{i}}} should not be substituted. {{{i}}} should not be substituted. {{{i}}} should not be substituted.
Sandbox
{{{i}}} should not be substituted. {{{i}}} should not be substituted. {{{i}}} should not be substituted.
Prefix
{{#invoke:For params|main|<nowiki>{{{var}}}</nowiki>| + |prefix=var}}
{{_TEMPLATE_|var1=A|var2=B|var3=C}}
Live
A + B + C
Sandbox
A + B + C
No first number
{{#invoke:For params|main|<nowiki>{{{var}}}</nowiki>| + |prefix=var}}
{{_TEMPLATE_|var=A|var2=B|var3=C}}
Live
A + B + C
Sandbox
A + B + C
First number required
{{#invoke:For params|main|<nowiki>{{{var}}}</nowiki>| + |optnum=n|prefix=var}}
{{_TEMPLATE_|var=A|var2=B|var3=C}}
Live
No output
Sandbox
No output
Sparse prefix
{{#invoke:For params|main|<nowiki>{{{var}}}</nowiki>| + |prefix=var|sparse=y}}
{{_TEMPLATE_|var1=A|var2=B|var30=C}}
Live
A + B + C
Sandbox
A + B + C
Sparse no number first
{{#invoke:For params|main|<nowiki>{{{var}}}</nowiki>| + |prefix=var|sparse=y}}
{{_TEMPLATE_|var=A|var2=B|var30=C}}
Live
A + B + C
Sandbox
A + B + C
Sparse first number required
{{#invoke:For params|main|<nowiki>{{{var}}}</nowiki>| + |optnum=n|prefix=var|sparse=y}}
{{_TEMPLATE_|var=A|var2=B|var30=C}}
Live
B + C
Sandbox
B + C
Suffix
{{#invoke:For params|main|<nowiki>{{{variable}}}</nowiki>| + |prefix=var|suffix=iable}}
{{_TEMPLATE_|var1iable=A|var2iable=B|var3iable=C}}
Live
A + B + C
Sandbox
A + B + C
Suffix no first number
{{#invoke:For params|main|<nowiki>{{{variable}}}</nowiki>| + |prefix=var|suffix=iable}}
{{_TEMPLATE_|var2iable=B|var3iable=C|variable=A}}
Live
A + B + C
Sandbox
A + B + C
Suffix first number required
{{#invoke:For params|main|<nowiki>{{{variable}}}</nowiki>| + |optnum=n|prefix=var|suffix=iable}}
{{_TEMPLATE_|var2iable=B|var3iable=C|variable=A}}
Live
No output
Sandbox
No output
Sparse suffix
{{#invoke:For params|main|<nowiki>{{{variable}}}</nowiki>| + |prefix=var|sparse=y|suffix=iable}}
{{_TEMPLATE_|var1iable=A|var2iable=B|var30iable=C}}
Live
A + B + C
Sandbox
A + B + C
Sparse suffix no number first
{{#invoke:For params|main|<nowiki>{{{variable}}}</nowiki>| + |prefix=var|sparse=y|suffix=iable}}
{{_TEMPLATE_|var2iable=B|var30iable=C|variable=A}}
Live
A + B + C
Sandbox
A + B + C
Sparse suffix first number required
{{#invoke:For params|main|<nowiki>{{{variable}}}</nowiki>| + |optnum=n|prefix=var|sparse=y|suffix=iable}}
{{_TEMPLATE_|var2iable=B|var30iable=C|variable=A}}
Live
B + C
Sandbox
B + C
Suffix only, unset prefix
{{#invoke:For params|main|<nowiki>{{{item}}}</nowiki>| + |suffix=item}}
{{_TEMPLATE_|1item=A|2item=B|3item=C}}
Live
A + B + C
Sandbox
A + B + C
Suffix only, blank prefix
{{#invoke:For params|main|<nowiki>{{{item}}}</nowiki>| + |prefix=|suffix=item}}
{{_TEMPLATE_|1item=A|2item=B|3item=C}}
Live
A + B + C
Sandbox
A + B + C
Multiple prefixes
{{#invoke:For params|main|<nowiki>{{{i}}}{{#if:{{{header|}}}|{{sp}}('''{{{header}}}''')}} = {{{item|''No item''}}}</nowiki>|, |prefix1=item|prefix2=header|sparse=n}}
{{_TEMPLATE_|header1=HDR1|header3=HDR3|item1=ITM1|item100=Ignored|item2=ITM2}}
Live
1 (HDR1) = ITM1, 2 = ITM2, 3 (HDR3) = No item
Sandbox
1 (HDR1) = ITM1, 2 = ITM2, 3 (HDR3) = No item
Multiple prefixes sparse
{{#invoke:For params|main|<nowiki>{{{i}}}{{#if:{{{header|}}}|{{sp}}('''{{{header}}}''')}} = {{{item|''No item''}}}</nowiki>|, |prefix1=item|prefix2=header|sparse=y}}
{{_TEMPLATE_|header3=HDR3|header5=HDR5|item100=ITM100|item3=ITM3|item4=ITM4}}
Live
3 (HDR3) = ITM3, 4 = ITM4, 5 (HDR5) = No item, 100 = ITM100
Sandbox
3 (HDR3) = ITM3, 4 = ITM4, 5 (HDR5) = No item, 100 = ITM100
Multiple prefixes with suffix
{{#invoke:For params|main|<nowiki>{{{person|{{{person_name|}}}}}}</nowiki>|, |conj=, and |prefix1=person|prefix2=person|suffix2=_name}}
{{_TEMPLATE_|person1=Mr. 1|person100=Ignored|person1_name=Ignored|person2=Ms. 2|person3_name=Ms. 3}}
Live
Mr. 1, Ms. 2, and Ms. 3
Sandbox
Mr. 1, Ms. 2, and Ms. 3
Multiple prefixes with suffix sparse
{{#invoke:For params|main|<nowiki>{{{person|{{{person_name|}}}}}}</nowiki>|, |conj=, and |prefix1=person|prefix2=person|sparse=y|suffix2=_name}}
{{_TEMPLATE_|person100=Mr. 100|person3=Mr. 3|person3_name=Ignored|person4=Ms. 4|person5_name=Ms. 5}}
Live
Mr. 3, Ms. 4, Ms. 5, and Mr. 100
Sandbox
Mr. 3, Ms. 4, Ms. 5, and Mr. 100
Prefix extra
{{#invoke:For params|main|<nowiki>{{{i}}}{{#if:{{{header|}}}|{{sp}}('''{{{header}}}''')}} = {{{item}}}</nowiki>|, |extra=header|prefix=item}}
{{_TEMPLATE_|header1=HDR1|header3=Ignored|item1=ITM1|item2=ITM2}}
Live
1 (HDR1) = ITM1, 2 = ITM2
Sandbox
1 (HDR1) = ITM1, 2 = ITM2
Multiple extras
{{#invoke:For params|main|<nowiki>''{{{name}}}'': Born: {{{born|Unknown}}}, Died: {{{died|N/A}}}</nowiki>|<br>|extra1=born|extra2=died|prefix=name}}
{{_TEMPLATE_|born=1905|born2=2000|died=1982|died3=2012|name=James|name2=Bob|name3=John|name4=Ryan}}
Live
James: Born: 1905, Died: 1982
Bob: Born: 2000, Died: N/A
John: Born: Unknown, Died: 2012
Ryan: Born: Unknown, Died: N/A
Sandbox
James: Born: 1905, Died: 1982
Bob: Born: 2000, Died: N/A
John: Born: Unknown, Died: 2012
Ryan: Born: Unknown, Died: N/A
Multiple extras with suffix
{{#invoke:For params|main|<nowiki>''{{{person_name}}}'': Born: {{{person_born|Unknown}}}, Died: {{{person_died|N/A}}}</nowiki>|<br>|extra1=person|extra2=person|extrasuffix1=_born|extrasuffix2=_died|prefix=person|suffix=_name}}
{{_TEMPLATE_|person1_born=1905|person1_died=1982|person1_name=James|person2_born=2000|person2_name=Bob|person3_died=2012|person3_name=John|person4_name=Ryan}}
Live
James: Born: 1905, Died: 1982
Bob: Born: 2000, Died: N/A
John: Born: Unknown, Died: 2012
Ryan: Born: Unknown, Died: N/A
Sandbox
James: Born: 1905, Died: 1982
Bob: Born: 2000, Died: N/A
John: Born: Unknown, Died: 2012
Ryan: Born: Unknown, Died: N/A
Multiple extras with suffix using opt num
{{#invoke:For params|main|<nowiki>''{{{person_name}}}'': Born: {{{person_born|Unknown}}}, Died: {{{person_died|N/A}}}</nowiki>|<br>|extra1=person|extra2=person|extrasuffix1=_born|extrasuffix2=_died|prefix=person|suffix=_name}}
{{_TEMPLATE_|person2_born=2000|person2_name=Bob|person3_died=2012|person3_name=John|person4_name=Ryan|person_born=1905|person_died=1982|person_name=James}}
Live
James: Born: 1905, Died: 1982
Bob: Born: 2000, Died: N/A
John: Born: Unknown, Died: 2012
Ryan: Born: Unknown, Died: N/A
Sandbox
James: Born: 1905, Died: 1982
Bob: Born: 2000, Died: N/A
John: Born: Unknown, Died: 2012
Ryan: Born: Unknown, Died: N/A
Call
{{#invoke:For params|main|call=2x}}
{{_TEMPLATE_|A|B|C}}
Live
AABBCC
Sandbox
AABBCC
Call and whitespace separator
{{#invoke:For params|main| & |call=2x}}
{{_TEMPLATE_|A|B|C}}
Live
AA & BB & CC
Sandbox
AA & BB & CC
{{{|default}}}
{{#invoke:For params|main|<nowiki>{{{|default}}}</nowiki>}}
{{_TEMPLATE_|A}}
Live
default
Sandbox
default
Doesn't over-parse
{{#invoke:For params|main|<nowiki>{{{1}}}</nowiki>}}
{{_TEMPLATE_|{{1x|Should be unparsed}}}}
Live
{{1x|Should be unparsed}}
Sandbox
{{1x|Should be unparsed}}