Permalink
Switch branches/tags
MultipartContent annevk-navigate-to-weird-schemes annevk/EventSource-U+0000 annevk/autofocus annevk/bc-closing annevk/content-length annevk/document-domain annevk/document-open-load-event annevk/document-open-steps-readiness annevk/document-write-reloading annevk/dom-listener-order annevk/encodeInto annevk/fetch-fragments annevk/h1-message-parsing annevk/html-ancestororigins annevk/http-versioning annevk/legacy-pre-activation-behavior-phase annevk/meta-global-annevk annevk/navigate-redirect annevk/navigate-source annevk/opaque-redirect-handling annevk/origin-header annevk/simplify-license annevk/sw-redirect-fragment annevk/template-content-node-document annevk/url-host-parser annevk/window.opener annevk/www-authenticate-parsing annevk/x-frame-options annevk/xhr-h2-statusText annevk/xhr-no-headers-received annevk/xhr-responseurl-with-fragment appveyor ayg/document-named-item bburg-unidentified-keys billing-address-redactions cache-manifest canvas/getContext-second-argument chrome_experimental chromium-export-cl-532595 chromium-export-cl-558917 chromium-export-cl-660842 chromium-export-cl-670844 chromium-export-cl-676883 chromium-export-cl-728365 chromium-export-cl-738353 chromium-export-cl-741361 chromium-export-cl-766373 chromium-export-cl-773321 chromium-export-cl-775179 chromium-export-cl-778160 chromium-export-cl-854092 chromium-export-cl-881121 chromium-export-cl-882906 chromium-export-cl-899411 chromium-export-cl-930542 chromium-export-cl-961719 chromium-export-cl-985959 chromium-export-cl-986593 chromium-export-cl-993812 chromium-export-cl-1013322 chromium-export-cl-1032554 chromium-export-cl-1118750 chromium-export-cl-1128385 chromium-export-cl-1136543 chromium-export-cl-1144133 chromium-export-cl-1146644 chromium-export-cl-1154225 chromium-export-cl-1188018 chromium-export-cl-1188643 chromium-export-cl-1199810 chromium-export-cl-1200863 chromium-export-cl-1212270 chromium-export-cl-1221696 chromium-export-cl-1222913 chromium-export-cl-1249391 chromium-export-cl-1264165 chromium-export-cl-1264520 chromium-export-cl-1270699 chromium-export-cl-1272339 chromium-export-cl-1277666 chromium-export-cl-1288573 chromium-export-cl-1291229 chromium-export-cl-1293050 chromium-export-cl-1293256 chromium-export-cl-1294874 chromium-export-cl-1295618 chromium-export-cl-1306337 chromium-export-cl-1306967 chromium-export-cl-1319616 chromium-export-cl-1322260 chromium-export-cl-1338461 chromium-export-cl-1344261 chromium-export-cl-1345090 chromium-export-cl-1351490 chromium-export-cl-1355923 chromium-export-cl-1356966 chromium-export-cl-1363178 chromium-export-cl-1363848 chromium-export-cl-1363971 chromium-export-cl-1365235 chromium-export-cl-1365984 chromium-export-cl-1366318 chromium-export-cl-1367725 chromium-export-cl-1367910 chromium-export-cl-1368826 chromium-export-cl-1371186 chromium-export-cl-1372556 chromium-export-cl-1373430 chromium-export-cl-1373848 chromium-export-cl-1374113 chromium-export-cl-1374988 chromium-export-cl-1375714 chromium-export-cl-1376317 chromium-export-cl-1376713 chromium-export-cl-1377129 chromium-export-cl-1377711 chromium-export-cl-1377959 chromium-export-cl-1378805 chromium-export-cl-1378811 chromium-export-cl-1379105 chromium-export-cl-1379752 chromium-export-cl-1380799 chromium-export-cl-1381144 chromium-export-cl-1381240 chromium-export-cl-1382870 chromium-export-cl-1383055 chromium-export-cl-1383297 chromium-export-cl-I03bf57a24da3a7479199d04a05c4487342af20ca chromium-export-cl-I53e5b576adebf65ede8ebd1dabe084713ebdf875 chromium-export-cl-I865bb06f8b879e180d4aa6de57010e2609afb8b1 chromium-export-cl-I944ea2ea69447c612c01b9e6f723f110fa28a1f5 chromium-export-cl-I44767f3f65065e9fe0d84a051d4a6b503b439b89 chromium-export-cl-I05157521c98b50fc3816932045a13f6b0eefc9f0 chromium-export-cl-I9846168be36b1de26cc2a508e134c3dd555dafa7 chromium-export-cl-Ib8e35215c5b58721a043087130c9951a56fba3c1 chromium-export-cl-Ib629d1b7e8b86faffc0ddd51888f721df9da4d22 chromium-export-cl-Id7060b7d1292654fc8f23dd72eef629f6a874ef0 chromium-export-cl-Ie2ca10581a3e28974a1eff4e589ea8b62f4cfa62 chromium-export-cl-Ieaa430d9303ab7277440d96b61327b4ec997cd04 chromium-export-cl-Ied400facf474ad18f632c650b636bbbcf725b116 code-of-conduct.md codecov copy_pasta createElement-cereactions csswg-test-pr-561 csswg-test-pr-567 csswg-test-pr-1021 currencysys document-promises drawimage_svg_image_1 dup_shipping_ops epochs/daily epochs/weekly errorfields_warn event-handler-attribute-realm eventtarget-group executorwebdriver ffs-descriptor file_is_error filter-subregion-01 fix-stp-version flaky-test-history foolip/audio-output-securecontext foolip/azure-win10 foolip/fullscreen-catch-throw foolip/getComputedStyle-border foolip/manifest-download-by-tag from-to-element fullscreen-request-vs-exit fullscreen-unloading-steps gecko/sync/upstream/open/1169290/1 gecko/sync/upstream/open/1436763/1 gecko/sync/upstream/open/1437255/1 gecko/1352355 gecko/1383454 gecko/1436763 gecko/1477117 gecko/1487295 gecko/1495601 gecko/1500001 gecko/1507244 gecko/1513570 gecko/1513959 gwhit-flex-changes-2 gwhit-flex-changes hallvors/clipboard-api-2 hallvors/window-opener idlharness-iterable idlharness-member-tostring initial-selection initial-value-selectionDirection jdm-branch-3 jdm-patch-1 jdm-patch-2 jdm-patch-7 jdm-patch-9 jdm-patch-10 jdm-patch-11 js-urls jugglinmike-master-demo jugglinmike-master-revert-switch jugglinmike-mimic-results-collection-2 jugglinmike-mimic-results-collection jugglinmike-testharness-late-tests-locate jugglinmike-wptrunner_tlbc-demo liamquin-patch-1 link-text-css-quirk lint-meta mach_wpt_serve manifest_optimise manifest_performance marcoscaceres-patch-1 marcoscaceres-patch-3-1 marcoscaceres-patch-3 master matchall-is-slow meta_global mkwst/navigation-domain nikos-svg2-marker nonce-hiding payment-request-abort-method-undefined pendingoperation py3-lint py3-make_hosts_file py3-test-handlers readme reftest_fuzzy requestBillingAddress revert-6614-support_firefox_prefixed_implementation_in_mediacapture-fromelementtests revert-9258-host_ip revert-13200-chrome-webdriver-default scripts-between-documents scroll-behavior scrolling-element show_global show_payment sideshowbarker/assert_object_equals speech-api-historical-onmark sync/upstream/open/1420672 sync/upstream/open/1436659 testfiles_space_path tokenlist updateWith-upon-fulfillment-manual user_activation_iframe valid-pmi wdspec_fixup webdriver-update-existing webdriver_script_timeout webidl-legacy-platform-object webmessaging-user-gesture window-open-optional-features woff2-binary-fonts wptreport_surrogates wptrunner-cdp-less-bad-9-demo wptrunner_testdriver wptserve_list_manifest zcorpan/allowed-to-use-snapshot zcorpan/assert-throws-no-name zcorpan/content-before-legend zcorpan/css-transitions-disabled zcorpan/fieldset-accessibility zcorpan/fieldset-border-radius-hittest zcorpan/fieldset-float-and-flex-or-grid zcorpan/fieldset-replaced-element zcorpan/fieldset-translatez-fixup zcorpan/fieldset-webkit-appearance zcorpan/heading-pseudo zcorpan/joint-session-history-timeout zcorpan/single-opt-in zcorpan/update-mediasource-duration zcorpan/webcrypto-any-js zcorpan/window-open-top-vs-screeny
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
184 lines (157 sloc) 4.99 KB
layout title order
page
CSS Metadata
14

CSS tests have some additional requirements for metadata.

Specification Links

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.

  • 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:

<link rel="help"
href="https://www.w3.org/TR/CSS21/text.html#alignment-prop" />

Example 2:

<link rel="help"
href="https://www.w3.org/TR/CSS21/text.html#alignment-prop" />
<link rel="help" href="https://www.w3.org/TR/CSS21/visudet.html#q7" />
<link rel="help"
href="https://www.w3.org/TR/CSS21/visudet.html#line-height" />
<link rel="help"
href="https://www.w3.org/TR/CSS21/colors.html#background-properties" />

Requirement Flags

Token Description
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.
font Requires a specific font to be installed at the OS level. (A link to the font to be installed must be provided; this is not needed if only web fonts are used.)
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
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]
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
userstyle Requires a user style sheet to be set

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="" />

Test Assertions

<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:

  • 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, but is is highly recommended to include one. 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."