This template generates a test case for two or more templates. Each template is called with the same parameters, and the test case can be displayed in various different formats.
All parameters passed to this template are passed through to the test-case templates, with the exception of parameters starting with an underscore character ("_"), which are reserved for internal use.
If no templates are specified explicitly, the module uses the base page of the current page as the first template, and its /sandbox subpage as the second template. If only one template is specified explicitly, its /sandbox subpage is used as the second template.
Basic syntax
{{test case| [param1] = [value1]| [param2] = [value2]| [param3] = [value3]...}}
Common syntax
The following options will work with all different test case formats.
{{test case| _format = | _output = | _collapsible = | _resetRefs = | _code = | _showcode = | _template = | _template1 = | _heading1 = | _template2 = | _heading2 = | _template3 = | _heading3 = ...| [param1] = [value1]| [param2] = [value2]| [param3] = [value3]...}}
Some test case formats accept additional parameters as well. See their sections for documentation.
This format is used when _format
is not specified or when |_format=default
. It does not have any extra parameters.
Example
{{ombox}}
{{ombox/sandbox}}
Use |_format=columns
to arrange the test cases side by side in a table. This is useful for comparing long and thin templates such as infoboxes. It has the following extra parameters:
Example
Use |_format=rows
or |_format=tablerows
to arrange the test cases one above another in a table. These two formats differ in the placement of the headings: rows
puts them above, whereas tablerows
to the left of the template outputs. It has the following extra parameters:
Example – rows
Example – tablerows
Use |_format=inline
for test cases that can be displayed entirely on one line. If used with templates that display on multiple lines it may produce unexpected results. This format creates a bulleted list by placing *
before each line of output. It has the following extra parameters:
Note: As this format starts with a bullet, a newline will always be inserted at the start of the template output due to bug 14974.
Examples (using Template:3x)
Default:
With |_showcode=yes
:
{{3x|Lorem ipsum }}
→ Lorem ipsum Lorem ipsum Lorem ipsum{{3x/sandbox|Lorem ipsum }}
→ Lorem ipsum Lorem ipsum Lorem ipsumExample (using Template:Height)
With |_prefix=#
and |_addline=
:
{{Height|m=1.51}}
→ 1.51 m (4 ft 11+1⁄2 in){{Height/sandbox|m=1.51}}
→ 1.51 m (4 ft 11+1⁄2 in){{Cvt|1.51|m|frac=2}}
→ 1.51 m (4 ft 11+1⁄2 in)The _output
parameter allows changes in how the template's output is displayed. It should work with any of the test case formats; the following examples use |format=tablerows
.
The default output is displayed when the _output
parameter is not specified or when it is set to any unsupported value; this example uses |_output=default
.
A nowiki version of the template's output is displayed when |_output=nowiki
. This is helpful if there are differences in the underlying wikitext which are not visible in the default output.
Both the default output and nowiki version are displayed when |_output=nowiki+
.
If _collapsible
is set to "y" or "yes", the test case is made collapsible. The test case is collapsed and given a green heading if all the template outputs are the same. If any of the template outputs differ, the test case is expanded and given a yellow heading. It has the following extra parameters:
Examples
{{ombox}}
{{ombox/sandbox}}
This is useful for templates with a small number of parameters. It displays the template code in the title, eliminating the need for both |_title=
and |_showcode=yes
. For actual tests implemented with |_titlecode=yes
, see Template:URL/testcases.
If |_notcollapsed=yes
, the test case will always be expanded upon loading the page. This setting overrides the default functionality in which the test case is collapsed unless two or more outputs do not match. The following example would normally be collapsed, as indicated by green background of title:
If |_notcollapsed=no
, the test case will always be collapsed upon loading the page. This setting overrides the default functionality in which the test case is collapsed unless two or more outputs do not match. The following would normally be expanded, as indicated by yellow background of title:
{{test case|_template1=ombox|_showcode=yes|text=Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}
{{ombox|text=Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}
{{ombox}}
{{ombox/sandbox}}
{{test case|_template1=ombox|_showcode=yes|_code = <nowiki>{{__TEMPLATENAME__| text = Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}</nowiki>|text=Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}
{{ombox| text = Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}
{{ombox}}
{{ombox/sandbox}}
{{test case|_template1=ombox|_showcode=yes|_collapsible=yes|text=Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}
{{ombox|text=Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.}}
{{ombox}}
{{ombox/sandbox}}
The template has the following known technical limitations:
|_showcode=
whitespace in named parameters is ignored, numbered parameters like |1=
may be incorrectly displayed as positional parameters, and duplicate parameters are ignored. This is due to how template parameters are processed before they are passed to Module:Template test case.|_code=
parameter, the HTML entities <, > and " are converted to the literal characters <, > and ". This is due to the way nowiki tags work.<ref>
, <references>
, <gallery>
or <nowiki>
) is treated as equal. These tags are converted to strip markers before they are passed to the template, and all strip markers include a unique hexadecimal string. Even if strip markers were unstripped before being compared, the same wikitext would not be guaranteed to result in exactly the same unstripped code. So this module ignores the content of strip markers for the purposes of testing equality. This has the unwanted side effect that e.g. all <ref>...</ref>
tags are treated as though they are equal, but should be adequate for most uses.Templates invoking Module:Template test case:
<nowiki>...</nowiki>
tags