Files
palemoon27/testing/web-platform/tests/docs/test-templates.md
T

3.0 KiB

This page contains templates for creating tests. The template syntax is compatible with several popular editors including TextMate, Sublime Text, and emacs' YASnippet mode.

Each template is given in two forms, one minimal and one including extra metadata. Usually the metadata is required by CSS tests and optional for other tests.

Templates for filenames are also given. In this case {} is used to delimit text to be replaced # represents a digit and ext is a filename extension.

Reftests

Minimal Reftest

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Test title}</title>
<link rel="match" href="${2:URL of match}">
<style>
    ${3:Test CSS}
</style>
<body>
    ${4:Test content}
</body>

Filename: {test-topic}-###.ext

Reftest Including Metadata

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Test area}: ${2:Scope of test}</title>
<link rel="author" title="${3:Author's name}" href="${4:Contact link}">
<link rel="help" href="${5:Link to tested section}">
<link rel="match" href="${6:URL of match}">
<meta name="flags" content="${7:Requirement flags}">
<meta name="assert" content="${8:Description of what you're trying to test}">
<style>
    ${9:Test CSS}
</style>
<body>
    ${10:Test content}
</body>

Filename: {test-topic}-###.ext

Minimal Reftest Reference:

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Reference title}</title>
<style>
    ${2:Reference CSS}
</style>
<body>
    ${3:Reference content}
</body>

Filename: {description}.ext or {test-topic}-###-ref.ext

Reference Including Metadata

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Reference title}</title>
<link rel="author" title="${2:Author's name}" href="${3:Contact link}">
<style>
    ${4:Reference CSS}
</style>
<body>
    ${5:Reference content}
</body>

Filename: {description}.ext or {test-topic}-###-ref.ext

testharness.js tests

Minimal Script Test

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Test title}</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
${2:Test body}
</script>

Filename: {test-topic}-###.ext

Script Test With Metadata

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Test title}</title>
<link rel="author" title="${2:Author's name}" href="${3:Contact link}">
<link rel="help" href="${4:Link to tested section}">
<meta name="flags" content="${5:Requirement flags}">
<meta name="assert" content="${6:Description of what you're trying to test}">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
${7:Test body}
</script>

Filename: {test-topic}-###.ext

Manual Test

<!DOCTYPE html>
<meta charset="utf-8">
<title>${1:Test title}</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
setup({explicit_timeout: true});
${2:Test body}
</script>

Filename: {test-topic}-###-manual.ext