CSS tests have some particular requirements for metadata.
<title>[Test Area]: [Title/Scope of Test]</title> or <title>[Test Area] Reference File</title>
The title appears in the generated index, so make sure it is concise and descriptive. The role of the title is to identify what specific detail of a feature or combination of features is being tested, so that someone looking through an index can see quickly what's tested in which file. In most cases, this description should not require more than 5 or 6 words. There is no need to provide the chapter or section in the title. For reference file, the titles should not be specific to a test case as these files may be used by multiple different tests.
Bad examples:
<title>CSS Test: Border Conflict Resolution</title> <title>CSS Regions auto-height Reference</title>
Good examples:
<title>CSS Test: Border Conflict Resolution (width) - hidden/double </title> <title>CSS Reference File</title>
For CSS specifications other than CSS 2.1, you can include the module name somewhere before the colon, like “CSS Selectors Test:” or “CSS Test (Selectors):”. Do not include the module version number, since the test might get reused for the next version.
<link rel="author" title="NAME_OF_AUTHOR" href="[mailto:some@address or http://some.url]" />
Credits provide a way to identify the person or organization that created the test and/or holds copyright in the test. This is useful for reviewing purposes and for asking questions about the individual test. A test can have multiple author credits if necessary.
Example 1:
<link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" />
Example 2:
<link rel="author" title="Bert Bos" href="http://www.w3.org/People/Bos/" />
Example 3:
<link rel="author" title="Microsoft" href="http://microsoft.com/" />
<link rel="reviewer" title="NAME_OF_REVIEWER" href="[mailto:some@address or http://some.url]" /> <!-- YYYY-MM-DD -->
If a test has passed review, then the reviewer should note this by adding his or her name as a reviewer, along with the date of the review. A test can have multiple reviewers if necessary. A reviewer must be a person, not an organization.
Example 1:
<link rel="reviewer" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> <!-- 2008-02-19 -->
Example 2:
<link rel="reviewer" title="Bert Bos" href="http://www.w3.org/People/Bos/" /> <!-- 2005-05-03 -->
If a test would pass review with some (non-metadata) changes and the reviewer chooses to make these changes, then the reviewer should add his or her name as a reviewer-author, along with the date of the review, when checking in those changes. This indicates that the reviewer-author approves of the original author's test when taken with these proposed changes, and that someone else (possibly the original author) must review the changes. The test is fully reviewed only when the latest reviewer did not also contribute changes to the test at the time of the review.
Example of a fully-reviewed test:
<link rel="author" title="Bert Bos" href="http://www.w3.org/People/Bos/" /> <link rel="reviewer author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu" /> <!-- 2008-02-19 --> <link rel="reviewer" title="Bert Bos" href="http://www.w3.org/People/Bos/" /> <!-- 2008-04-22 -->
This test was written by Bert Bos, then reviewed by Boris Zbarsky, who made some corrections before deeming it acceptable. Those corrections were then reviewed and accepted by Bert Bos.
Specification Links
<link rel="help" href="RELEVANT_SPEC_SECTION" />
The specification link elements provide a way to align the test with information in the specification being tested.
Example 1:
<link rel="help" href="http://www.w3.org/TR/CSS21/text.html#alignment-prop" />
Example 2:
<link rel="help" href="http://www.w3.org/TR/CSS21/text.html#alignment-prop" /> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#q7" /> <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#line-height" /> <link rel="help" href="http://www.w3.org/TR/CSS21/colors.html#background-properties" />
Reftests only
<link rel="match" href="RELATIVE_PATH_TO_REFERENCE_FILE" /> <link rel="mismatch" href="RELATIVE_PATH_TO_REFERENCE_FILE" />
The reference link elements are used in reftests and provide the list of reference file(s) that the test should be compared to.
match
references must be files that render identically to the test, but use an alternate means to do somismatch
references are files that render differently than the test file. A test may have any number of mismatch references. The test is considered to fail if it renders the same as any of the mismatch references.Example 1:
<link rel="match" href="green-box-ref.xht" />
Example 2:
<link rel="match" href="green-box-ref.xht" /> <link rel="match" href="blue-box-ref.xht" /> <link rel="mismatch" href="red-box-notref.xht" /> <link rel="mismatch" href="red-box-notref.xht" />
Example 1 (one token applies):
<meta name="flags" content="invalid" />
Example 2 (multiple tokens apply):
<meta name="flags" content="ahem image scroll" />
Example 3 (no tokens apply):
<meta name="flags" content="" />
<meta name="assert" content="TEST ASSERTION" />
This element should contain a complete detailed statement expressing what specifically the test is attempting to prove. If the assertion is only valid in certain cases, those conditions should be described in the statement.
The assertion should not be:
The test assertion is optional. It helps the reviewer understand the goal of the test so that he or she can make sure it is being tested correctly. Also, in case a problem is found with the test later, the testing method (e.g. using color
to determine pass/fail) can be changed (e.g. to using background-color
) while preserving the intent of the test (e.g. testing support for ID selectors).
Examples of good test assertions: