css/css-typed-om

edit

WPT coverage of the tests of css/css-typed-om at the revision 5602b0f210e3. The tests link to their results in the browsers on wpt.fyi. The tentative tests (experimental features) and the reftests are listed separately from the stable tests.

GroupPassingTestsDisabledPass rate
Stable290319091%
Tentative3943091%
Reftests550100%
All334367091%

Failure reasons

The tests that do not pass (failing or disabled), by kind of reason. A test with several reasons counts once per kind.

  • TEST BUG: 31
  • NOT IMPLEMENTED: 1
  • TEST RUNNER: 1

Stable tests

TestResultSubtestsKindDescription
CSSMatrixComponent-DOMMatrix-mutable.htmlPass1 / 1
container-length-units-type.htmlPass30 / 30
declared-styleMap-accepts-inherit.htmlPass1 / 1
factory-absolute-length.htmlPass7 / 7
factory-duration.htmlPass2 / 2
factory-font-relative-length.htmlPass12 / 12
factory-frequency.htmlPass2 / 2
historical.htmlPass11 / 11
idlharness.htmlFail536 / 544TEST RUNNERidlharness checks parse()/parseAll() as own properties of obj.constructor (CSSUnitValue, CSSMathSum, CSSTransformValue), which only inherit these static operations (fails in browsers too)
parse-calc-expressions.htmlPass2 / 2
set-var-reference-thcrash.htmlPass1 / 1
stylevalue-normalization/normalize-image.htmlPass3 / 3
stylevalue-objects/parse-invalid.htmlPass5 / 5
stylevalue-objects/parse.htmlPass5 / 5
stylevalue-objects/parseAll-invalid.htmlPass6 / 6
stylevalue-objects/parseAll.htmlPass5 / 5
stylevalue-serialization/cssImageValue.htmlPass1 / 1
stylevalue-serialization/cssStyleValue-cssom.htmlPass4 / 4
stylevalue-serialization/cssStyleValue-string.htmlPass2 / 2
stylevalue-serialization/cssUnparsedValue.htmlPass6 / 6
stylevalue-subclasses/cssColorValue.htmlPass20 / 20
stylevalue-subclasses/cssHSL.htmlPass24 / 24
stylevalue-subclasses/cssHWB.htmlPass21 / 21
stylevalue-subclasses/cssKeywordValue-invalid.any.jsPass3 / 3
stylevalue-subclasses/cssKeywordValue-value.any.jsPass18 / 18
stylevalue-subclasses/cssKeywordValue.any.jsPass15 / 15
stylevalue-subclasses/cssLCH.htmlPass18 / 18
stylevalue-subclasses/cssLab.htmlPass15 / 15
stylevalue-subclasses/cssMatrixComponent-toMatrix-returns-new-matrix.htmlPass4 / 4
stylevalue-subclasses/cssOKLCH.htmlPass18 / 18
stylevalue-subclasses/cssOKLab.htmlPass15 / 15
stylevalue-subclasses/cssRGB.htmlPass51 / 51
stylevalue-subclasses/cssTransformComponent-2d-flattening.htmlPass4 / 4
stylevalue-subclasses/cssTransformComponent-toMatrix-relative-units.htmlPass2 / 2
stylevalue-subclasses/cssTransformComponent-toMatrix.htmlPass8 / 8
stylevalue-subclasses/cssTransformValue-toMatrix.htmlPass2 / 2
stylevalue-subclasses/cssUnparsedValue-empty.any.jsPass6 / 6
stylevalue-subclasses/cssUnparsedValue-indexed-getter-setter.htmlPass6 / 6
stylevalue-subclasses/cssUnparsedValue-iterable.htmlPass2 / 2
stylevalue-subclasses/cssUnparsedValue-length.htmlPass4 / 4
stylevalue-subclasses/cssUnparsedValue.htmlPass4 / 4
stylevalue-subclasses/cssVariableReferenceValue-invalid.htmlPass2 / 2
stylevalue-subclasses/cssVariableReferenceValue-variable.htmlPass3 / 3
stylevalue-subclasses/cssVariableReferenceValue.htmlPass3 / 3
stylevalue-subclasses/numeric-objects/cssMathInvert-type.any.jsPass9 / 9
stylevalue-subclasses/numeric-objects/cssMathNegate-type.any.jsPass6 / 6
stylevalue-subclasses/numeric-objects/cssUnitValue-value.htmlPass1 / 1
stylevalue-subclasses/numeric-objects/cssUnitValue.htmlPass36 / 36
the-stylepropertymap/computed/get-auto-min-size.htmlPass6 / 6
the-stylepropertymap/computed/get-disconnected-element.htmlPass1 / 1
the-stylepropertymap/computed/get-invalid.htmlPass1 / 1
the-stylepropertymap/computed/get-position.htmlPass2 / 2
the-stylepropertymap/computed/get-shorthand.htmlPass2 / 2
the-stylepropertymap/computed/get.htmlPass6 / 6
the-stylepropertymap/computed/getAll-shorthand.htmlPass2 / 2
the-stylepropertymap/declared/clear.htmlPass3 / 3
the-stylepropertymap/declared/delete-invalid.htmlPass1 / 1
the-stylepropertymap/declared/delete-shorthand.htmlPass3 / 3
the-stylepropertymap/declared/delete.htmlPass5 / 5
the-stylepropertymap/declared/get-invalid.htmlPass1 / 1
the-stylepropertymap/declared/get-shorthand.htmlPass2 / 2
the-stylepropertymap/declared/get.htmlPass7 / 7
the-stylepropertymap/declared/getAll-shorthand.htmlPass2 / 2
the-stylepropertymap/declared/set-shorthand.htmlPass4 / 4
the-stylepropertymap/inline/attribute-changed-callback.htmlPass11 / 11
the-stylepropertymap/inline/clear.htmlPass3 / 3
the-stylepropertymap/inline/delete-invalid.htmlPass1 / 1
the-stylepropertymap/inline/delete-shorthand.htmlPass3 / 3
the-stylepropertymap/inline/delete.htmlPass5 / 5
the-stylepropertymap/inline/get-invalid.htmlPass1 / 1
the-stylepropertymap/inline/get-shorthand.htmlPass3 / 3
the-stylepropertymap/inline/get.htmlPass7 / 7
the-stylepropertymap/inline/getAll-shorthand.htmlPass2 / 2
the-stylepropertymap/inline/set-shorthand.htmlPass4 / 4
the-stylepropertymap/invalidation.htmlPass1 / 1
the-stylepropertymap/properties/accent-color.htmlPass38 / 38
the-stylepropertymap/properties/alignment-baseline.htmlPass39 / 39
the-stylepropertymap/properties/all.htmlPass31 / 31
the-stylepropertymap/properties/anchor-scope.htmlPass35 / 35
the-stylepropertymap/properties/animation-delay.htmlPass31 / 31
the-stylepropertymap/properties/animation-direction.htmlPass35 / 35
the-stylepropertymap/properties/animation-duration.htmlPass32 / 32
the-stylepropertymap/properties/animation-fill-mode.htmlPass35 / 35
the-stylepropertymap/properties/animation-iteration-count.htmlPass32 / 32
the-stylepropertymap/properties/animation-name.htmlPass35 / 35
the-stylepropertymap/properties/animation-play-state.htmlPass33 / 33
the-stylepropertymap/properties/animation-timing-function.htmlPass40 / 40
the-stylepropertymap/properties/animation.htmlPass2 / 2
the-stylepropertymap/properties/backdrop-filter.htmlPass34 / 34
the-stylepropertymap/properties/backface-visibility.htmlPass33 / 33
the-stylepropertymap/properties/background-attachment.htmlPass34 / 34
the-stylepropertymap/properties/background-blend-mode.htmlPass47 / 47
the-stylepropertymap/properties/background-clip.htmlPass34 / 34
the-stylepropertymap/properties/background-color.htmlPass37 / 37
the-stylepropertymap/properties/background-image.htmlPass33 / 33
the-stylepropertymap/properties/background-origin.htmlPass34 / 34
the-stylepropertymap/properties/background-position.htmlError5 / 5TEST BUGthe shared resources/testsuite.js has no example for the <position> syntax and throws
the-stylepropertymap/properties/background-repeat.htmlPass38 / 38
the-stylepropertymap/properties/background-size.htmlPass35 / 35
the-stylepropertymap/properties/background.htmlFail28 / 36TEST BUGthe test expects attributeStyleMap.set() to throw a TypeError when a length or a percentage is set on the shorthand, as Blink does; a numeric value that matches the grammar of the property is valid (https://drafts.css-houdini.org/css-typed-om-1/#create-an-internal-representation); Safari accepts them too and fails the same subtests
the-stylepropertymap/properties/baseline-shift.htmlPass36 / 36
the-stylepropertymap/properties/block-size.htmlPass95 / 95
the-stylepropertymap/properties/border-collapse.htmlPass33 / 33
the-stylepropertymap/properties/border-color.htmlPass148 / 148
the-stylepropertymap/properties/border-image-outset.htmlPass34 / 34
the-stylepropertymap/properties/border-image-repeat.htmlPass37 / 37
the-stylepropertymap/properties/border-image-slice.htmlPass34 / 34
the-stylepropertymap/properties/border-image-source.htmlPass33 / 33
the-stylepropertymap/properties/border-image-width.htmlPass35 / 35
the-stylepropertymap/properties/border-radius.htmlPass128 / 128
the-stylepropertymap/properties/border-style.htmlPass132 / 132
the-stylepropertymap/properties/border-width.htmlPass136 / 136
the-stylepropertymap/properties/bottom.htmlPass32 / 32
the-stylepropertymap/properties/box-shadow.htmlPass33 / 33
the-stylepropertymap/properties/box-sizing.htmlPass33 / 33
the-stylepropertymap/properties/break.htmlPass122 / 122
the-stylepropertymap/properties/caption-side.htmlPass33 / 33
the-stylepropertymap/properties/caret-color.htmlPass38 / 38
the-stylepropertymap/properties/center-coordinate.htmlPass62 / 62
the-stylepropertymap/properties/clear.htmlPass35 / 35
the-stylepropertymap/properties/clip-path.htmlFail39 / 40TEST BUGrunUnsupportedPropertyTests('clip', ['inset(...)']) names the legacy clip property, whose grammar is <rect()> \| auto (https://drafts.csswg.org/css-masking-1/#propdef-clip): inset() is a <basic-shape> of clip-path, which the rest of the file tests
the-stylepropertymap/properties/clip-rule.htmlPass33 / 33
the-stylepropertymap/properties/clip.htmlPass33 / 33
the-stylepropertymap/properties/color-interpolation.htmlPass34 / 34
the-stylepropertymap/properties/color.htmlFail36 / 37TEST BUGthe test expects the computed value of color: currentcolor to be reified as the currentcolor keyword, but currentcolor computes to the inherited color for the color property (https://drafts.csswg.org/css-color-4/#resolving-other-colors), a CSSStyleValue; fails in Chrome and Safari too
the-stylepropertymap/properties/column-count.htmlPass32 / 32
the-stylepropertymap/properties/column-height.htmlPass32 / 32
the-stylepropertymap/properties/column-rule-color.htmlPass37 / 37
the-stylepropertymap/properties/column-rule-style.htmlPass41 / 41
the-stylepropertymap/properties/column-rule-width.htmlPass41 / 41
the-stylepropertymap/properties/column-span.htmlFail29 / 33TEST BUGthe test expects attributeStyleMap.set() to throw a TypeError for a number on column-span, whose grammar accepts <integer [1,∞]> since CSS Multi-column 2 (https://drafts.csswg.org/css-multicol-2/#column-span): the number is set, in calc() when it is not an integer or out of range; the browsers pass because they do not support the integer values
the-stylepropertymap/properties/column-width.htmlPass32 / 32
the-stylepropertymap/properties/contain.htmlPass41 / 41
the-stylepropertymap/properties/container-name.htmlPass39 / 39
the-stylepropertymap/properties/container-type.htmlPass34 / 34
the-stylepropertymap/properties/coordinate.htmlPass62 / 62
the-stylepropertymap/properties/counter-increment.htmlPass34 / 34
the-stylepropertymap/properties/counter-reset.htmlPass34 / 34
the-stylepropertymap/properties/counter-set.htmlPass34 / 34
the-stylepropertymap/properties/cursor.htmlPass69 / 69
the-stylepropertymap/properties/d.htmlPass33 / 33
the-stylepropertymap/properties/direction.htmlPass33 / 33
the-stylepropertymap/properties/display.htmlPass60 / 60
the-stylepropertymap/properties/dominant-baseline.htmlPass40 / 40
the-stylepropertymap/properties/empty-cells.htmlPass33 / 33
the-stylepropertymap/properties/fill-color.htmlPass37 / 37
the-stylepropertymap/properties/fill-opacity.htmlPass31 / 31
the-stylepropertymap/properties/fill-rule.htmlPass33 / 33
the-stylepropertymap/properties/fill.htmlFail1 / 2TEST BUGthe test expects red gray to be a valid value of fill: <paint> is none \| <image> \| <svg-paint> (https://drafts.csswg.org/fill-stroke-3/#typedef-paint), and SVG 2 only accepts a fallback color after a URL (https://svgwg.org/svg2-draft/painting.html#SpecifyingPaint)
the-stylepropertymap/properties/filter.htmlPass34 / 34
the-stylepropertymap/properties/flex-basis.htmlPass36 / 36
the-stylepropertymap/properties/flex-direction.htmlPass35 / 35
the-stylepropertymap/properties/flex-flow.htmlPass3 / 3
the-stylepropertymap/properties/flex-grow.htmlPass31 / 31
the-stylepropertymap/properties/flex-shrink.htmlPass31 / 31
the-stylepropertymap/properties/flex-wrap.htmlPass34 / 34
the-stylepropertymap/properties/flex.htmlPass4 / 4
the-stylepropertymap/properties/float.htmlPass34 / 34
the-stylepropertymap/properties/flood-color.htmlPass37 / 37
the-stylepropertymap/properties/flood-opacity.htmlPass31 / 31
the-stylepropertymap/properties/font-family.htmlPass3 / 3
the-stylepropertymap/properties/font-feature-settings.htmlPass34 / 34
the-stylepropertymap/properties/font-kerning.htmlPass34 / 34
the-stylepropertymap/properties/font-language-override.htmlPass33 / 33
the-stylepropertymap/properties/font-optical-sizing.htmlPass33 / 33
the-stylepropertymap/properties/font-palette.htmlFail34 / 35TEST BUGthe test expects font-palette: Augusta to be a valid value (reified as a CSSStyleValue): a palette name is a <dashed-ident> (<palette-identifier>, https://drafts.csswg.org/css-fonts-4/#typedef-font-palette-palette-identifier), so the declaration is invalid; fails in Chrome and Safari too
the-stylepropertymap/properties/font-presentation.htmlFail26 / 34TEST BUGfont-presentation is the name of an early draft of font-variant-emoji (https://drafts.csswg.org/css-fonts-4/#propdef-font-variant-emoji): no specification defines it
the-stylepropertymap/properties/font-size-adjust.htmlPass32 / 32
the-stylepropertymap/properties/font-size.htmlPass41 / 41
the-stylepropertymap/properties/font-stretch.htmlFail31 / 40TEST BUGthe test expects the computed value of the font-stretch keywords to be reified as keywords, but they compute to percentages (https://drafts.csswg.org/css-fonts-4/#font-stretch-prop), reified as CSSUnitValue; fails in Chrome and Safari too
the-stylepropertymap/properties/font-style.htmlPass34 / 34
the-stylepropertymap/properties/font-synthesis.htmlPass102 / 102
the-stylepropertymap/properties/font-variant-alternates.htmlPass40 / 40
the-stylepropertymap/properties/font-variant-caps.htmlPass38 / 38
the-stylepropertymap/properties/font-variant-east-asian.htmlPass43 / 43
the-stylepropertymap/properties/font-variant-emoji.htmlPass35 / 35
the-stylepropertymap/properties/font-variant-ligatures.htmlPass43 / 43
the-stylepropertymap/properties/font-variant-numeric.htmlPass42 / 42
the-stylepropertymap/properties/font-variant.htmlPass4 / 4
the-stylepropertymap/properties/font-variation-settings.htmlPass33 / 33
the-stylepropertymap/properties/font-weight.htmlPass35 / 35
the-stylepropertymap/properties/font.htmlPass5 / 5
the-stylepropertymap/properties/gap.htmlPass64 / 64
the-stylepropertymap/properties/grid-area.htmlPass7 / 7
the-stylepropertymap/properties/grid-auto-columns-rows.htmlFail70 / 72TEST BUGthe test expects attributeStyleMap.set() to throw a TypeError for a negative fr; a CSSUnitValue outside of the range of the property is wrapped in calc() (https://drafts.css-houdini.org/css-typed-om-1/#create-an-internal-representation), and a math function is valid where a <flex> is (https://drafts.csswg.org/css-values-4/#math): calc(-3.14fr) is set; Chrome and Safari fail these subtests for grid-auto-*, Safari for grid-template-*
the-stylepropertymap/properties/grid-auto-flow.htmlPass34 / 34
the-stylepropertymap/properties/grid-gap.htmlPass5 / 5
the-stylepropertymap/properties/grid-start-end.htmlPass140 / 140
the-stylepropertymap/properties/grid-template-areas.htmlPass34 / 34
the-stylepropertymap/properties/grid-template-columns-rows.htmlFail66 / 68TEST BUGthe test expects attributeStyleMap.set() to throw a TypeError for a negative fr; a CSSUnitValue outside of the range of the property is wrapped in calc() (https://drafts.css-houdini.org/css-typed-om-1/#create-an-internal-representation), and a math function is valid where a <flex> is (https://drafts.csswg.org/css-values-4/#math): calc(-3.14fr) is set; Chrome and Safari fail these subtests for grid-auto-*, Safari for grid-template-*
the-stylepropertymap/properties/grid-template.htmlPass6 / 6
the-stylepropertymap/properties/grid.htmlPass3 / 3
the-stylepropertymap/properties/height.htmlPass95 / 95
the-stylepropertymap/properties/hyphens.htmlPass34 / 34
the-stylepropertymap/properties/image-rendering.htmlPass36 / 36
the-stylepropertymap/properties/inline-size.htmlPass95 / 95
the-stylepropertymap/properties/isolation.htmlPass33 / 33
the-stylepropertymap/properties/left.htmlPass32 / 32
the-stylepropertymap/properties/letter-spacing.htmlPass32 / 32
the-stylepropertymap/properties/lighting-color.htmlPass37 / 37
the-stylepropertymap/properties/line-break.htmlPass36 / 36
the-stylepropertymap/properties/line-height.htmlPass32 / 32
the-stylepropertymap/properties/list-style-image.htmlPass33 / 33
the-stylepropertymap/properties/list-style-position.htmlPass33 / 33
the-stylepropertymap/properties/list-style-type.htmlPass35 / 35
the-stylepropertymap/properties/logical.htmlFail1,338 / 1,468TEST BUGthe test contradicts the tests of the physical properties: it expects the two-value logical shorthands (margin-block, padding-inline, inset-block, border-block-width, border-inline-style, border-block-color...) to be reified as their single component (the shorthands are CSSStyleValue objects, as margin.html expects; fails in Chrome and Safari), set() to reject a length for the border-block-start... shorthands (a value that matches the grammar is valid, see margin.html), and the computed value of the logical corner radii to be a CSSUnitValue (it is a pair of radii, a CSSStyleValue, as border-radius.html expects for the physical corners; fails in Safari)
the-stylepropertymap/properties/margin.htmlFail153 / 161TEST BUGthe test expects attributeStyleMap.set() to throw a TypeError when a length or a percentage is set on the shorthand, as Blink does; a numeric value that matches the grammar of the property is valid (https://drafts.css-houdini.org/css-typed-om-1/#create-an-internal-representation); Safari accepts them too and fails the same subtests
the-stylepropertymap/properties/marker.htmlPass98 / 98
the-stylepropertymap/properties/mask-image.htmlPass33 / 33
the-stylepropertymap/properties/mask-type.htmlPass33 / 33
the-stylepropertymap/properties/mask.htmlPass2 / 2
the-stylepropertymap/properties/mix-blend-mode.htmlPass47 / 47
the-stylepropertymap/properties/object-fit.htmlPass36 / 36
the-stylepropertymap/properties/object-position.htmlError5 / 5TEST BUGthe shared resources/testsuite.js has no example for the <position> syntax and throws
the-stylepropertymap/properties/offset-anchor.htmlError6 / 6TEST BUGthe shared resources/testsuite.js has no example for the <position> syntax and throws
the-stylepropertymap/properties/offset-distance.htmlPass31 / 31
the-stylepropertymap/properties/offset-path.htmlPass34 / 34
the-stylepropertymap/properties/offset-position.htmlError7 / 7TEST BUGthe shared resources/testsuite.js has no example for the <position> syntax and throws
the-stylepropertymap/properties/offset-rotate.htmlPass35 / 35
the-stylepropertymap/properties/offset.htmlPass6 / 6
the-stylepropertymap/properties/opacity.htmlPass31 / 31
the-stylepropertymap/properties/order.htmlPass31 / 31
the-stylepropertymap/properties/orphans.htmlPass31 / 31
the-stylepropertymap/properties/outline-color.htmlPass37 / 37
the-stylepropertymap/properties/outline-offset.htmlPass31 / 31
the-stylepropertymap/properties/outline-style.htmlPass41 / 41
the-stylepropertymap/properties/outline-width.htmlPass34 / 34
the-stylepropertymap/properties/overflow-anchor.htmlPass33 / 33
the-stylepropertymap/properties/overflow-clip-margin.htmlFail29 / 36TEST BUGthe test was written when overflow-clip-margin was a longhand: CSS Overflow 4 makes it a shorthand of the overflow-clip-margin-* longhands ("The shorthand/longhand relationships are as for margin", https://drafts.csswg.org/css-overflow-4/#overflow-clip-margin), and the Typed OM reifies the shorthands as CSSStyleValue (margin, padding: "reify as a CSSStyleValue", https://drafts.css-houdini.org/css-typed-om-1/#reify-stylevalue), but the test expects a <visual-box> keyword to be a CSSKeywordValue and a length a CSSUnitValue; these subtests fail in every browser (Firefox gets a CSSStyleValue too, Chrome and Safari reject the values)
the-stylepropertymap/properties/overflow-wrap.htmlFail33 / 35TEST BUGbreak-spaces is not a value of overflow-wrap (normal \| break-word \| anywhere, https://drafts.csswg.org/css-text-4/#propdef-overflow-wrap): it is a value of white-space-collapse
the-stylepropertymap/properties/overflow.htmlPass72 / 72
the-stylepropertymap/properties/overscroll-behavior.htmlPass68 / 68
the-stylepropertymap/properties/padding.htmlPass124 / 124
the-stylepropertymap/properties/page.htmlPass35 / 35
the-stylepropertymap/properties/paint-order.htmlPass37 / 37
the-stylepropertymap/properties/perspective-origin.htmlError5 / 6TEST BUGthe shared resources/testsuite.js has no example for the <position> syntax and throws; it also expects a none keyword that perspective-origin does not have
the-stylepropertymap/properties/perspective.htmlPass32 / 32
the-stylepropertymap/properties/pointer-events.htmlPass41 / 41
the-stylepropertymap/properties/position-visibility.htmlPass39 / 39
the-stylepropertymap/properties/position.htmlPass33 / 33
the-stylepropertymap/properties/quotes.htmlPass33 / 33
the-stylepropertymap/properties/radius.htmlPass95 / 95
the-stylepropertymap/properties/resize.htmlPass35 / 35
the-stylepropertymap/properties/right.htmlPass32 / 32
the-stylepropertymap/properties/scroll-behavior.htmlPass33 / 33
the-stylepropertymap/properties/scroll-margin.htmlPass252 / 252
the-stylepropertymap/properties/scroll-padding.htmlPass252 / 252
the-stylepropertymap/properties/scroll-snap-align.htmlFail33 / 37TEST BUGthe test calls assert_is_unsupported(input, result) as the computed callback, which checks the class of its first argument: the CSSKeywordValue that was set, not the computed value; fails in Chrome and Safari too
the-stylepropertymap/properties/scroll-snap-stop.htmlPass33 / 33
the-stylepropertymap/properties/scroll-snap-type.htmlPass39 / 39
the-stylepropertymap/properties/scrollbar-gutter.htmlPass34 / 34
the-stylepropertymap/properties/scrollbar-width.htmlPass34 / 34
the-stylepropertymap/properties/shape-image-threshold.htmlFail27 / 31TEST BUGthe test expects attributeStyleMap.set() to throw a TypeError for a percentage on shape-image-threshold, whose grammar is <opacity-value> (https://drafts.csswg.org/css-shapes-1/#shape-image-threshold-property; css/css-shapes/parsing/shape-image-threshold-valid.html expects the percentages to be valid); the browsers pass because their Typed OM only accepts numbers for this property
the-stylepropertymap/properties/shape-margin.htmlPass31 / 31
the-stylepropertymap/properties/shape-outside.htmlPass41 / 41
the-stylepropertymap/properties/shape-rendering.htmlPass35 / 35
the-stylepropertymap/properties/speak.htmlPass34 / 34
the-stylepropertymap/properties/stop-color.htmlPass37 / 37
the-stylepropertymap/properties/stop-opacity.htmlPass31 / 31
the-stylepropertymap/properties/stroke-dasharray.htmlPass33 / 33
the-stylepropertymap/properties/stroke-dashoffset.htmlPass31 / 31
the-stylepropertymap/properties/stroke-linecap.htmlPass34 / 34
the-stylepropertymap/properties/stroke-linejoin.htmlFail38 / 39TEST BUGstupid is the value of an early draft, renamed fallback: [ crop \| arcs \| miter ] \|\| [ bevel \| round \| fallback ] (https://drafts.csswg.org/fill-stroke-3/#propdef-stroke-linejoin)
the-stylepropertymap/properties/stroke-miterlimit.htmlPass31 / 31
the-stylepropertymap/properties/stroke-opacity.htmlPass31 / 31
the-stylepropertymap/properties/stroke-width.htmlPass31 / 31
the-stylepropertymap/properties/stroke.htmlFail1 / 2TEST BUGthe test expects red gray to be a valid value of stroke: <paint> is none \| <image> \| <svg-paint> (https://drafts.csswg.org/fill-stroke-3/#typedef-paint), and SVG 2 only accepts a fallback color after a URL (https://svgwg.org/svg2-draft/painting.html#SpecifyingPaint)
the-stylepropertymap/properties/tab-size.htmlPass31 / 31
the-stylepropertymap/properties/table-layout.htmlPass33 / 33
the-stylepropertymap/properties/text-align-last.htmlPass38 / 38
the-stylepropertymap/properties/text-align.htmlPass37 / 37
the-stylepropertymap/properties/text-anchor.htmlPass34 / 34
the-stylepropertymap/properties/text-autospace.htmlPass41 / 41
the-stylepropertymap/properties/text-box-trim.htmlPass35 / 35
the-stylepropertymap/properties/text-combine-upright.htmlPass34 / 34
the-stylepropertymap/properties/text-decoration-color.htmlPass37 / 37
the-stylepropertymap/properties/text-decoration-line.htmlPass38 / 38
the-stylepropertymap/properties/text-decoration-skip-ink.htmlPass33 / 33
the-stylepropertymap/properties/text-decoration-skip.htmlFail31 / 39TEST BUGthe test uses the longhand text-decoration-skip of an early draft (objects, spaces, edges, box-decoration): it is now a shorthand of text-decoration-skip-self, -box, -spaces and -ink whose grammar is none \| auto (https://drafts.csswg.org/css-text-decor-4/#propdef-text-decoration-skip), reified as a CSSStyleValue like the other shorthands
the-stylepropertymap/properties/text-decoration-style.htmlPass36 / 36
the-stylepropertymap/properties/text-decoration-thickness.htmlPass32 / 32
the-stylepropertymap/properties/text-decoration.htmlPass3 / 3
the-stylepropertymap/properties/text-emphasis-color.htmlPass37 / 37
the-stylepropertymap/properties/text-emphasis-position.htmlPass38 / 38
the-stylepropertymap/properties/text-indent.htmlPass34 / 34
the-stylepropertymap/properties/text-justify.htmlPass35 / 35
the-stylepropertymap/properties/text-orientation.htmlPass34 / 34
the-stylepropertymap/properties/text-overflow.htmlFail36 / 37TEST BUGfade() takes a single <length-percentage> (https://drafts.csswg.org/css-overflow-4/#funcdef-text-overflow-fade): fade(1px, 50%) is invalid, where the test expects it to be a valid value
the-stylepropertymap/properties/text-rendering.htmlPass35 / 35
the-stylepropertymap/properties/text-shadow.htmlPass34 / 34
the-stylepropertymap/properties/text-size-adjust.htmlFail31 / 33TEST BUGthe test expects the computed value of text-size-adjust: none to be the keyword none, where css/css-size-adjust/parsing/text-size-adjust-computed.html expects 100% (as Chrome computes it): it is reified as a CSSUnitValue; the test expects a negative percentage set on text-size-adjust (<percentage [0,∞]>) to be kept as a CSSUnitValue; a CSSUnitValue outside of the range of the property is wrapped in a CSSMathSum (https://drafts.css-houdini.org/css-typed-om-1/#create-an-internal-representation), as the tests of the other properties expect; fails in Chrome and Safari too
the-stylepropertymap/properties/text-transform.htmlPass36 / 36
the-stylepropertymap/properties/text-underline-offset.htmlPass32 / 32
the-stylepropertymap/properties/text-underline-position.htmlPass37 / 37
the-stylepropertymap/properties/top.htmlPass32 / 32
the-stylepropertymap/properties/touch-action.htmlPass43 / 43
the-stylepropertymap/properties/transform-box.htmlPass34 / 34
the-stylepropertymap/properties/transform-interpolated.htmlPass1 / 1
the-stylepropertymap/properties/transform-style.htmlFail33 / 34TEST BUGauto is not a value of transform-style (flat \| preserve-3d, https://drafts.csswg.org/css-transforms-2/#propdef-transform-style)
the-stylepropertymap/properties/transform.htmlPass33 / 33
the-stylepropertymap/properties/transition-delay.htmlPass31 / 31
the-stylepropertymap/properties/transition-duration.htmlPass31 / 31
the-stylepropertymap/properties/transition-property.htmlPass35 / 35
the-stylepropertymap/properties/transition-timing-function.htmlPass40 / 40
the-stylepropertymap/properties/transition.htmlPass4 / 4
the-stylepropertymap/properties/unicode-bidi.htmlPass37 / 37
the-stylepropertymap/properties/user-select.htmlPass36 / 36
the-stylepropertymap/properties/vector-effect.htmlPass33 / 33
the-stylepropertymap/properties/vertical-align.htmlPass16 / 16
the-stylepropertymap/properties/visibility.htmlPass34 / 34
the-stylepropertymap/properties/white-space.htmlPass144 / 144
the-stylepropertymap/properties/widows.htmlPass31 / 31
the-stylepropertymap/properties/width.htmlPass95 / 95
the-stylepropertymap/properties/will-change.htmlPass34 / 34
the-stylepropertymap/properties/word-break.htmlPass34 / 34
the-stylepropertymap/properties/word-spacing.htmlPass32 / 32
the-stylepropertymap/properties/word-wrap.htmlFail33 / 35TEST BUGbreak-spaces is not a value of word-wrap, the legacy name of overflow-wrap (normal \| break-word \| anywhere, https://drafts.csswg.org/css-text-4/#propdef-overflow-wrap): it is a value of white-space-collapse
the-stylepropertymap/properties/writing-mode.htmlPass36 / 36
the-stylepropertymap/properties/z-index.htmlPass32 / 32

Tentative tests

TestResultSubtestsKindDescription
stylevalue-normalization/normalize-ident.tentative.htmlPass2 / 2
stylevalue-normalization/normalize-numeric.tentative.htmlPass6 / 6
stylevalue-normalization/normalize-tokens.tentative.htmlPass16 / 16
stylevalue-normalization/transformvalue-normalization.tentative.htmlPass28 / 28
stylevalue-serialization/cssKeywordValue.tentative.htmlPass4 / 4
stylevalue-serialization/cssMathValue.tentative.htmlPass25 / 25
stylevalue-serialization/cssTransformValue.tentative.htmlFail21 / 22TEST BUGthe test expects the arguments of a CSSMathSum in a CSSTransformValue sorted and converted to the canonical units (calc(1em + 1px), calc(90deg + 360deg), calc(2 * 90deg)), as Blink serializes them; the CSS Typed OM serializes the values of a math value in order (calc(1px + 1em), https://drafts.css-houdini.org/css-typed-om-1/#serialize-a-cssmathvalue), as cssMathValue.tentative.html expects; fails in Safari too
stylevalue-serialization/cssUnitValue.tentative.htmlPass6 / 6
stylevalue-subclasses/cssMatrixComponent.tentative.htmlPass10 / 10
stylevalue-subclasses/cssPerspective.tentative.htmlPass25 / 25
stylevalue-subclasses/cssRotate.tentative.htmlPass27 / 27
stylevalue-subclasses/cssScale.tentative.htmlPass22 / 22
stylevalue-subclasses/cssSkew.tentative.htmlPass30 / 30
stylevalue-subclasses/cssSkewX.tentative.htmlPass19 / 19
stylevalue-subclasses/cssSkewY.tentative.htmlPass19 / 19
stylevalue-subclasses/cssTransformValue.tentative.htmlPass8 / 8
stylevalue-subclasses/cssTranslate.tentative.htmlPass23 / 23
stylevalue-subclasses/numeric-objects/add-two-types.tentative.any.jsPass84 / 84
stylevalue-subclasses/numeric-objects/arithmetic.tentative.any.jsFail67 / 201TEST BUGthe .any.js worker variants use the CSS namespace (CSS.px()...), which is not exposed in the workers: namespace CSS is [Exposed=Window] (https://drafts.csswg.org/cssom-1/#namespacedef-css) and the partial namespace of the numeric factory functions (https://drafts.css-houdini.org/css-typed-om-1/#numeric-factory) adds no exposure
stylevalue-subclasses/numeric-objects/create-a-type.tentative.any.jsPass24 / 24
stylevalue-subclasses/numeric-objects/cssMathValue.tentative.htmlPass23 / 23
stylevalue-subclasses/numeric-objects/cssnumericvalue-multiply-two-types.tentative.any.jsPass21 / 21
stylevalue-subclasses/numeric-objects/equals.tentative.htmlPass11 / 11
stylevalue-subclasses/numeric-objects/numeric-factory.tentative.htmlPass34 / 34
stylevalue-subclasses/numeric-objects/parse.tentative.htmlPass23 / 23
stylevalue-subclasses/numeric-objects/to.tentative.any.jsFail21 / 57TEST BUGthe .any.js worker variants use the CSS namespace (CSS.px()...), which is not exposed in the workers: namespace CSS is [Exposed=Window] (https://drafts.csswg.org/cssom-1/#namespacedef-css) and the partial namespace of the numeric factory functions (https://drafts.css-houdini.org/css-typed-om-1/#numeric-factory) adds no exposure
stylevalue-subclasses/numeric-objects/toSum.tentative.htmlPass11 / 11
the-stylepropertymap/append-space-separated.tentative.htmlFail4 / 8NOT IMPLEMENTEDStylePropertyMap.append() on the space-separated list-valued properties such as filter: only the comma-separated lists are list-valued, so append('filter', ...) throws a TypeError
the-stylepropertymap/computed/computed.tentative.htmlPass7 / 7
the-stylepropertymap/computed/getAll.tentative.htmlPass6 / 6
the-stylepropertymap/computed/has.tentative.htmlPass7 / 7
the-stylepropertymap/computed/iterable.tentative.htmlPass5 / 5
the-stylepropertymap/declared/append.tentative.htmlPass25 / 25
the-stylepropertymap/declared/declared.tentative.htmlPass7 / 7
the-stylepropertymap/declared/getAll.tentative.htmlPass7 / 7
the-stylepropertymap/declared/has.tentative.htmlPass9 / 9
the-stylepropertymap/declared/iterable.tentative.htmlPass5 / 5
the-stylepropertymap/declared/set.tentative.htmlPass15 / 15
the-stylepropertymap/inline/append.tentative.htmlPass25 / 25
the-stylepropertymap/inline/getAll.tentative.htmlPass7 / 7
the-stylepropertymap/inline/has.tentative.htmlPass8 / 8
the-stylepropertymap/inline/iterable.tentative.htmlPass5 / 5
the-stylepropertymap/inline/set.tentative.htmlPass15 / 15

Reftests

TestResultVariantsKindDescription
background-image-gradient.htmlPass1 / 1
rotate-by-added-angle.htmlPass1 / 1
width-by-clamp-px-em.htmlPass1 / 1
width-by-max-px-em.htmlPass1 / 1
width-by-min-px-em.htmlPass1 / 1