CSS tests have some additional requirements for metadata. ### Specification Links Specification Links ``` html ``` The specification link elements provide a way to align the test with information in the specification being tested. * Links should link to relevant sections within the specification * Use the anchors from the specification's Table of Contents * A test can have multiple specification links * Always list the primary section that is being tested as the first item in the list of specification links * Order the list from the most used/specific to least used/specific * There is no need to list common incidental features like the color green if it is being used to validate the test unless the case is specifically testing the color green * If the test is part of multiple test suites, link to the relevant sections of each spec. Example 1: ``` html ``` Example 2: ``` html ``` ### Requirement Flags
Token Description
ahem Test requires Ahem font
animated Test is animated in final state. (Cannot be verified using reftests/screenshots.)
asis The test has particular markup formatting requirements and cannot be re-serialized.
combo Test, which must have an unsuffixed filename number, is strictly the union of all the suffixed tests with the same name and number. (See File name format, below.)
dom Requires support for JavaScript and the Document Object Model ( DOM)
font Requires a specific font to be installed. (Details must be provided and/or the font linked to in the test description)
history User agent session history is required. Testing :visited is a good example where this may be used.
HTMLonly Test case is only valid for HTML
http Requires HTTP headers
image Requires support for bitmap graphics and the graphic to load
interact Requires human interaction (such as for testing scrolling behavior)
invalid Tests handling of invalid CSS. Note: This case contains CSS properties and syntax that may not validate.
may Behavior tested is preferred but OPTIONAL. [RFC2119]
namespace Requires support for XML Namespaces
nonHTML Test case is only valid for formats besides HTML (e.g. XHTML or arbitrary XML)
paged Only valid for paged media
scroll Only valid for continuous (scrolling) media
should Behavior tested is RECOMMENDED, but not REQUIRED. [RFC2119]
speech Device supports audio output. Text-to-speech (TTS) engine installed
svg Requires support for vector graphics (SVG)
userstyle Requires a user style sheet to be set
32bit Assumes a 32-bit integer as the minimum (-2147483648) or maximum (2147483647) value
96dpi Assumes 96dpi display
Example 1 (one token applies): ``` html ``` Example 2 (multiple tokens apply): ``` html ``` Example 3 (no tokens apply): ``` html ``` ### Test Assertions ``` html ``` 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: * A copy of the title text * A copy of the test verification instructions * A duplicate of another assertion in the test suite * A line or reference from the CSS specification unless that line is a complete assertion when taken out of context. 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: * "This test checks that a background image with no intrinsic size covers the entire padding box." * "This test checks that 'word-spacing' affects each space (U+0020) and non-breaking space (U+00A0)." * "This test checks that if 'top' and 'bottom' offsets are specified on an absolutely-positioned replaced element, then any remaining space is split amongst the 'auto' vertical margins." * "This test checks that 'text-indent' affects only the first line of a block container if that line is also the first formatted line of an element."