Jump to content

Template:Template sandbox and testcases

Unchecked
From Wikipedia

Template sandbox and testcases for TEMPLATE_NAME

[edit]

Overview

[edit]

This page provides a clean workflow to safely edit and validate TEMPLATE_NAME:

  • Sandbox: Template:TEMPLATE_NAME/sandbox — a working copy where you make changes.
  • Testcases: Template:TEMPLATE_NAME/testcases — inputs that exercise typical and edge cases.
  • Live: Template:TEMPLATE_NAME — the production version. Do not edit directly without review.

Use this page to:

  • Preview sandbox output against fixed testcases without touching the live template.
  • Compare actual vs expected output for each testcase.
  • Track recent changes and invite reviewers.
[edit]

How to test

[edit]

1. Edit the sandbox at Template:TEMPLATE_NAME/sandbox. 2. Open this test page and click “Show preview” to render the sandbox with inputs below. 3. Verify each testcase: Does the “Actual output” match the “Expected output”? 4. If all pass, consider copying sandbox to live using an edit summary like:

  “Sync from /sandbox: passes all /testcases as of YYYY-MM-DD.”

Previewing tips

[edit]
  • Use “Preview page with this template” gadget or the built-in preview.
  • Check parser output in different skins and mobile view.
  • Validate accessibility: headings order, link text, ARIA where applicable.
  • Internationalization: test with non-ASCII parameters and RTL where relevant.

Test harness

[edit]

The following sections render the sandbox template against curated inputs. Each testcase shows:

  • Parameters passed to the template
  • Expected output (as plain wikitext target)
  • Actual output (rendered via sandbox transclusion)

Testcase A: Minimal invocation

[edit]

Parameters: {{TEMPLATE_NAME}}

Expected output: [Minimal successful output with defaults: e.g., a neutral message or basic box]

Actual output (sandbox): Character and language test sandbox

This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans.

Basic examples

  • Greek letter (direct character): α
  • Greek letter (HTML entity): γ
  • German span example: A

Within the template

Below are example calls of the template using these characters as parameters.

{{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }}

Preview the page to check if:

  • Greek characters (α, β, γ, δ) display correctly.
  • HTML entities (α, β, γ, δ) render as the expected symbols.
  • The A is kept as a German-language span and does not break the layout.

Notes

  • Use this sandbox to experiment with different scripts (Greek, Cyrillic, etc.).
  • Test right-to-left scripts by adding spans with lang="ar" or lang="he".
  • If the template trims or escapes some of these, adjust the template code accordingly.

Testcase B: Common parameters

[edit]

Parameters: {{TEMPLATE_NAME | param1 = Alpha | param2 = Beta | flag = yes }}

Expected output: [Example: shows "Alpha" and "Beta" in designated slots; flag toggles enhanced styling]

Actual output (sandbox): Character and language test sandbox

This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans.

Basic examples

  • Greek letter (direct character): α
  • Greek letter (HTML entity): γ
  • German span example: A

Within the template

Below are example calls of the template using these characters as parameters.

{{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }}

Preview the page to check if:

  • Greek characters (α, β, γ, δ) display correctly.
  • HTML entities (α, β, γ, δ) render as the expected symbols.
  • The A is kept as a German-language span and does not break the layout.

Notes

  • Use this sandbox to experiment with different scripts (Greek, Cyrillic, etc.).
  • Test right-to-left scripts by adding spans with lang="ar" or lang="he".
  • If the template trims or escapes some of these, adjust the template code accordingly.

Testcase C: Edge values and escaping

[edit]

Parameters: {{TEMPLATE_NAME | param1 = [[Linked target|Visible text]] | param2 = {{subst:CURRENTTIMESTAMP}} | raw = <code><span class="x">escaped</span></code> }}

Expected output: [Links render correctly; timestamp subst is literal in expected; raw shows escaped markup]

Actual output (sandbox): Character and language test sandbox

This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans.

Basic examples

  • Greek letter (direct character): α
  • Greek letter (HTML entity): γ
  • German span example: A

Within the template

Below are example calls of the template using these characters as parameters.

{{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }}

Preview the page to check if:

  • Greek characters (α, β, γ, δ) display correctly.
  • HTML entities (α, β, γ, δ) render as the expected symbols.
  • The A is kept as a German-language span and does not break the layout.

Notes

  • Use this sandbox to experiment with different scripts (Greek, Cyrillic, etc.).
  • Test right-to-left scripts by adding spans with lang="ar" or lang="he".
  • If the template trims or escapes some of these, adjust the template code accordingly.

Testcase D: Internationalization (i18n)

[edit]

Parameters: {{TEMPLATE_NAME | lang = ja | text = こんにちは世界 }}

Expected output: [Text displays correctly for non-ASCII; applies lang attribute or rtl/ltr where applicable]

Actual output (sandbox): Character and language test sandbox

This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans.

Basic examples

  • Greek letter (direct character): α
  • Greek letter (HTML entity): γ
  • German span example: A

Within the template

Below are example calls of the template using these characters as parameters.

{{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }}

Preview the page to check if:

  • Greek characters (α, β, γ, δ) display correctly.
  • HTML entities (α, β, γ, δ) render as the expected symbols.
  • The A is kept as a German-language span and does not break the layout.

Notes

  • Use this sandbox to experiment with different scripts (Greek, Cyrillic, etc.).
  • Test right-to-left scripts by adding spans with lang="ar" or lang="he".
  • If the template trims or escapes some of these, adjust the template code accordingly.

Testcase E: Error handling

[edit]

Parameters: {{TEMPLATE_NAME | param1 = | required = <!-- intentionally omitted --> }}

Expected output: [Shows a gentle error or maintenance category; does not break page layout]

Actual output (sandbox): Character and language test sandbox

This sandbox is used to test how Template:TEMPLATE NAME behaves with special characters (such as Greek letters) and language-specific spans.

Basic examples

  • Greek letter (direct character): α
  • Greek letter (HTML entity): γ
  • German span example: A

Within the template

Below are example calls of the template using these characters as parameters.

{{TEMPLATE NAME | title = Greek test: α γ | summary = Demonstrating Greek letters: α, β, γ, and entities like γ. | attr1 = Direct Greek: α β γ δ | attr2 = Entity Greek: α β γ δ | attr3 = German label: <span lang="de">A</span>, English label: A }}

Preview the page to check if:

  • Greek characters (α, β, γ, δ) display correctly.
  • HTML entities (α, β, γ, δ) render as the expected symbols.
  • The A is kept as a German-language span and does not break the layout.

Notes

  • Use this sandbox to experiment with different scripts (Greek, Cyrillic, etc.).
  • Test right-to-left scripts by adding spans with lang="ar" or lang="he".
  • If the template trims or escapes some of these, adjust the template code accordingly.

Maintenance

[edit]
  • Add new testcases when introducing features or fixing bugs.
  • Keep “Expected output” updated; include rationale in edit summaries.
  • When deprecating parameters, add tests demonstrating legacy behavior and warnings.

Categories

[edit]

Copy-paste skeletons

[edit]

Below are ready-to-use skeletons for the sandbox and testcases subpages.

Skeleton: Template:TEMPLATE_NAME/sandbox

[edit]

<!-- Sandbox for TEMPLATE_NAME --> <!-- Copy the entire template source here; edit safely. --> {{#if:{{{required|}}} | <!-- normal output --> <div class="tmpl"> <b>{{{param1|}}}</b> · <i>{{{param2|}}}</i> {{#if:{{{flag|}}}|<span class="flag">✓</span>|}} {{#if:{{{raw|}}}|<span class="raw">{{{raw}}}</span>|}} </div> | <!-- error / missing required --> <span class="error">TEMPLATE_NAME: missing required parameter</span> [[Category:Pages with TEMPLATE_NAME errors]] }}

Skeleton: Template:TEMPLATE_NAME/testcases

[edit]

<!-- Testcases for TEMPLATE_NAME; render against /sandbox --> ; Minimal : {{TEMPLATE_NAME/sandbox}} ; Common params : {{TEMPLATE_NAME/sandbox | param1 = Alpha | param2 = Beta | flag = yes }} ; Edge and escaping : {{TEMPLATE_NAME/sandbox | param1 = [[Linked target|Visible text]] | param2 = 20250101T000000Z | raw = <code><span class="x">escaped</span></code> }} ; I18n : {{TEMPLATE_NAME/sandbox | lang = ja | text = こんにちは世界 }} ; Error handling : {{TEMPLATE_NAME/sandbox | required = }}

Review checklist

[edit]
  • Output is stable across re-parses; no expensive parser functions without need.
  • No unexpected categorization in mainspace; errors go to maintenance cats.
  • Template is documented at Template:TEMPLATE_NAME/doc with parameters, examples, and tracking.
  • Style is minimal; avoid inline CSS unless necessary; consider using existing module or template styles.