Wikipedia:Template sandbox and test cases: Difference between revisions
Content deleted Content added
Andy M. Wang (talk | contribs) pointing out default sandbox and testcases subpages very clearly (some editors do not immediately know how to name them) |
→Manual formatting: <syntaxhighlight lang="wikitext"> |
||
(43 intermediate revisions by 31 users not shown) | |||
Line 1:
{{short description|Template how-to guide}}
{{Wikipedia how to|WP:TEMPTEST|WP:TESTCASE|WP:TESTCASES}}▼
{{pp-semi-indef|small=yes}}
{{see also|Wikipedia:Lua#Unit testing}}
[[Help:Template|Templates]] are a very powerful feature of the [[MediaWiki]] software used for [[Wikipedia]], but mistakes can be easily made, even by experienced users.
For the development of entirely new templates, user sandboxes are appropriate.
Most protected templates already have a sandbox subpage and testcases subpage. The names of these pages are default. Templates with documentation subpages existing will automatically include links to the sandbox and testcases pages (and make "create" links if they do not exist).▼
== Sandbox and testcases subpage naming ==
▲Most protected templates already have a sandbox subpage and testcases subpage. The names of these pages are default.
For example, here are the subpages for '''{{tl|FlagIOCmedalist}}''':
Line 18 ⟶ 23:
|}
==
It is highly recommended to apply the test case pattern to templates using [[mw:Help:Extension:ParserFunctions|ParserFunctions]] that can generate very different looking output, such as
For navigational boxes
== How to create /sandbox and /testcases subpages ==
{{tip|Use "create" and "mirror" links at the bottom of documentation box to create /sandbox and /testcases subpages automatically.}}
# Suppose your template is named <code>Template:X</code>. Create a subpage with the name <code>Template:X/sandbox</code>. If the main template is using the {{tl|documentation}} template, you can do this from a link at the bottom of the blue documentation box on the template main page. Or you can type it into the search box, or directly into the URL bar of your browser. Note that "/sandbox" is all lowercase. # Copy the entire contents of the main template, including <code><nowiki><noinclude></nowiki></code> tags and the {{tl|documentation}} template if present, paste it into the edit window of the /sandbox subpage, and save the page. Your edit summary should be something like
# Create another subpage with the name <code>Template:X/testcases</code>. This page is only linked from the bottom of the blue documentation box if it actually exists, so to create it you will need to create it by typing the page name into the search box or into the URL bar of your browser. Again, note that "/testcases" is all lowercase, and all one word.
# Put the {{tl|testcases notice}} template at the top of the page, add some test cases (see below), and save the page.
Line 57 ⟶ 60:
This format works well for banner templates and for lengthy text, e.g. citations. Note that you can format these kinds of test automatically using [[Template:Test case]] and other similar templates.
<syntaxhighlight lang="wikitext">
</syntaxhighlight>
Each value of ''template'', ''param1'', ''value1'' etc. must be identical.
For templates that use the "float" CSS attribute, you will need to use the {{tl|clear}} template to stop the results from bunching together:
<syntaxhighlight lang="wikitext">
{{clear}}
{{clear}}
</syntaxhighlight>
==== Wikitable ====
Line 95 ⟶ 98:
Start the table like this:
<syntaxhighlight lang="wikitext">
<!-- Each new test case can be added like this: -->▼
▲ {| class="wikitable"
▲ ! Code
▲ ! Main
▲ ! Sandbox
|-
▲Each new test case can be added like this:
| <code><nowiki>{{template|param1=value1|param2=value2}}</nowiki></code>
| {{template|param1=value1|param2=value2}}
<!-- Finish the table like this: -->▼
▲ |-
▲ | {{''template''/sandbox|''param1''=''value1''|''param2''=''value2''}}
|}
▲Finish the table like this:
</syntaxhighlight>
=== Automatic formatting ===
Line 134 ⟶ 138:
; Basic format
: [[Template:Quote]], [[Template:Quote/sandbox]]
; Wikitable
: [[Template:Diff]], [[Template:Diff/sandbox]] and [[Template:Diff/testcases]]
Line 146 ⟶ 150:
* [[Wikipedia:Template limits]] - technical limitations on template use
* {{tl|Template sandbox}} - sandbox for use in testing templates
* [[Special:ExpandTemplates]]
* [[Special:TemplateSandbox]]
{{Wikipedia technical help|collapsed}}
[[Category:Wikipedia
|