Closed Bug 2091952 Opened 3 days ago Closed 11 hours ago

[wpt-sync] Sync PR 64245 - Test font feature value serialization and map order

Categories

(Core :: Layout: Text and Fonts, task, P4)

task

Tracking

()

RESOLVED FIXED
162 Branch
Tracking Status
firefox162 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

(Blocks 1 open bug, )

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 64245 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/64245
Details from upstream follow.

Domenic Denicola <d@domenic.me> wrote:

Test font feature value serialization and map order

Assert exact serialization under the algorithm proposed in https://github.com/w3c/csswg-drafts/pull/14677, including fixed block order, first-occurrence name order, whitespace, empty rules, and the font-display descriptor. Cover merged blocks, duplicate and escaped names, invalid declarations, omitted empty blocks, and the placement of @historical-forms.

Check that map iteration exposes parsed names in first-occurrence order with their final valid values. Updating an entry preserves its position, while deletion followed by reinsertion appends it.

Correct two existing duplicate-name fixtures to expect one declaration per name with its last value, retaining the first name position. Closes https://github.com/web-platform-tests/wpt/pull/6647 by superseding it.

Component: web-platform-tests → Layout: Text and Fonts
Product: Testing → Core

CI Results

Ran 11 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 565 tests and 26 subtests

Status Summary

Firefox

OK : 3[GitHub] 172[Gecko-linux2404-64-debug] 173[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
PASS: 10[Gecko-linux2204-64-wayland-debug, Gecko-linux2204-64-wayland-opt] 301[GitHub] 8284[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 8611[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview] 8615[Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt] 8621[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
FAIL: 17[GitHub] 403[Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt] 447[Gecko-linux2404-64-debug, Gecko-linux2404-64-opt] 453[Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt] 455[Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview]

Chrome

OK : 3
PASS: 275
FAIL: 43

Safari

OK : 3
PASS: 309
FAIL: 9

Links

Gecko CI (Treeherder)
GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /css/css-fonts/font-feature-values-serialization-order.html [wpt.fyi]
    • An empty rule serializes with one space between its braces: FAIL
    • Empty blocks are omitted without changing the order of nonempty blocks: FAIL
    • Distinct names retain source order rather than alphabetical order: FAIL
    • A repeated name takes its last value without moving its first position: FAIL
    • Names are case-sensitive and escaped spellings update the same name in place: FAIL

New Tests That Don't Pass

  • /css/css-fonts/font-colorization.html [wpt.fyi]: FAIL [Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/font-family-name-000.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-001.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-002.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-003.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-004.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-005.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-006.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-007.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-008.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-009.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-010.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-011.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-012.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-013.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-014.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-015.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-021.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-family-name-024.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-palette-23b.html [wpt.fyi]: FAIL
  • /css/css-fonts/font-palette-mix.html [wpt.fyi]: FAIL
  • /css/css-fonts/font-size-adjust-ic-height.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/font-synthesis-weight-webfont-bold.html [wpt.fyi]: FAIL
  • /css/css-fonts/font-variant-emoji-005.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt], PASS [Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/font-variant-position.html [wpt.fyi]: FAIL
  • /css/css-fonts/font-variation-settings-descriptor-04.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/font-weight-bolder-001.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-weight-lighter-001.xht [wpt.fyi]: FAIL
  • /css/css-fonts/font-weight-normal-001.xht [wpt.fyi]: FAIL
  • /css/css-fonts/oblique-last-resort-weight-selection.html [wpt.fyi]: FAIL
  • /css/css-fonts/separators.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-11.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-12.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-13.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-14.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-15.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-16.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-19.html [wpt.fyi]: FAIL
  • /css/css-fonts/standard-font-family-20.html [wpt.fyi]: FAIL
  • /css/css-fonts/synthetic-bold-out-of-capabilities-range.html [wpt.fyi]: FAIL
  • /css/css-fonts/system-ui-ar.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/system-ui-ja-vs-zh.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/system-ui-ja.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/system-ui-mixed.html [wpt.fyi]: FAIL
  • /css/css-fonts/system-ui-ur-vs-ar.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/system-ui-ur.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/system-ui-zh.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/variation-sequences.html [wpt.fyi]: FAIL
  • /css/css-fonts/font-display/font-display-change.html [wpt.fyi]: FAIL
  • /css/css-fonts/font-display/font-display-feature-policy-02.tentative.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/font-display/font-display.html [wpt.fyi]: FAIL
  • /css/css-fonts/matching/font-unicode-PUA-primary-font.html [wpt.fyi]: FAIL [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview], PASS [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/variations/font-weight-3.html [wpt.fyi]: FAIL [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt], PASS [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/variations/ital-variable.html [wpt.fyi]: FAIL
  • /css/css-fonts/variations/variable-avar2-rvrn.html [wpt.fyi]: FAIL [Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/variations/variable-avar2-warp.html [wpt.fyi]: FAIL [Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], PASS [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-debug, Gecko-linux2404-64-opt]
  • /css/css-fonts/variations/font-opentype-collections.html [wpt.fyi]: SKIP
  • /css/css-fonts/animations/font-palette-animation-not-specified-endpoints.html [wpt.fyi]
    • Verify font-palette is animated when to keyframe is not specified: FAIL
  • /css/css-fonts/animations/font-palette-interpolation.html [wpt.fyi]
    • CSS Transitions: property <font-palette> from [light] to [dark] at (-2) should be [light]: FAIL
    • CSS Transitions: property <font-palette> from [light] to [dark] at (-0.25) should be [light]: FAIL
    • CSS Transitions: property <font-palette> from [light] to [dark] at (0) should be [light]: FAIL
    • CSS Transitions: property <font-palette> from [light] to [dark] at (0.3) should be [palette-mix(in oklab, light, dark 30%)]: FAIL
    • CSS Transitions: property <font-palette> from [light] to [dark] at (0.6) should be [palette-mix(in oklab, light, dark 60%)]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [light] to [dark] at (-2) should be [light]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [light] to [dark] at (-0.25) should be [light]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [light] to [dark] at (0) should be [light]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [light] to [dark] at (0.3) should be [palette-mix(in oklab, light, dark 30%)]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [light] to [dark] at (0.6) should be [palette-mix(in oklab, light, dark 60%)]: FAIL
    • CSS Animations: property <font-palette> from [light] to [dark] at (0.3) should be [palette-mix(in oklab, light, dark 30%)]: FAIL
    • CSS Animations: property <font-palette> from [light] to [dark] at (0.6) should be [palette-mix(in oklab, light, dark 60%)]: FAIL
    • Web Animations: property <font-palette> from [light] to [dark] at (0.3) should be [palette-mix(in oklab, light, dark 30%)]: FAIL
    • Web Animations: property <font-palette> from [light] to [dark] at (0.6) should be [palette-mix(in oklab, light, dark 60%)]: FAIL
    • CSS Transitions: property <font-palette> from [initial] to [inherit] at (-2) should be [normal]: FAIL
    • CSS Transitions: property <font-palette> from [initial] to [inherit] at (-0.25) should be [normal]: FAIL
    • CSS Transitions: property <font-palette> from [initial] to [inherit] at (0) should be [normal]: FAIL
    • CSS Transitions: property <font-palette> from [initial] to [inherit] at (0.3) should be [palette-mix(in oklab, normal, light 30%)]: FAIL
    • CSS Transitions: property <font-palette> from [initial] to [inherit] at (0.6) should be [palette-mix(in oklab, normal, light 60%)]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [initial] to [inherit] at (-2) should be [normal]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [initial] to [inherit] at (-0.25) should be [normal]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [initial] to [inherit] at (0) should be [normal]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [initial] to [inherit] at (0.3) should be [palette-mix(in oklab, normal, light 30%)]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [initial] to [inherit] at (0.6) should be [palette-mix(in oklab, normal, light 60%)]: FAIL
    • CSS Animations: property <font-palette> from [initial] to [inherit] at (0.6) should be [palette-mix(in oklab, normal, light 60%)]: FAIL
    • Web Animations: property <font-palette> from [initial] to [inherit] at (0.6) should be [palette-mix(in oklab, normal, light 60%)]: FAIL
    • CSS Transitions: property <font-palette> from [--custom-palette] to [normal] at (-2) should be [--custom-palette]: FAIL
    • CSS Transitions: property <font-palette> from [--custom-palette] to [normal] at (-0.25) should be [--custom-palette]: FAIL
    • CSS Transitions: property <font-palette> from [--custom-palette] to [normal] at (0) should be [--custom-palette]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [--custom-palette] to [normal] at (-2) should be [--custom-palette]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [--custom-palette] to [normal] at (-0.25) should be [--custom-palette]: FAIL
    • CSS Transitions with transition: all: property <font-palette> from [--custom-palette] to [normal] at (0) should be [--custom-palette]: FAIL
    • CSS Animations: property <font-palette> from [--custom-palette] to [normal] at (0.3) should be [palette-mix(in oklab, --custom-palette, normal 30%)]: FAIL
    • Web Animations: property <font-palette> from [--custom-palette] to [normal] at (0.3) should be [palette-mix(in oklab, --custom-palette, normal 30%)]: FAIL
    • An interpolation to inherit updates correctly on a parent style change.: FAIL
    • Test additive animations: FAIL
  • /css/css-fonts/animations/font-weight-composition.html [wpt.fyi]
    • Compositing CSS Animations: property <font-weight> underlying [200] from add [600] to replace [500] at (-0.3) should be [889.75]: FAIL
    • Compositing Web Animations: property <font-weight> underlying [200] from add [600] to replace [500] at (-0.3) should be [889.75]: FAIL
  • /css/css-fonts/calc-in-font-variation-settings.html [wpt.fyi]
    • calc() specified value serialization in font-variation-settings: FAIL
  • /css/css-fonts/fallback-url-to-local.html [wpt.fyi]
    • We should use the local font to render the page when the primary remote font is loading: FAIL
  • /css/css-fonts/font-feature-values-map-live.html [wpt.fyi]
    • Two retreived maps for CSSFontFeatureValuesRule.annotation should reflect the same values: FAIL
    • The second stylesheet should not be affected by modifications in the first: FAIL
  • /css/css-fonts/font-feature-values-map-order.html [wpt.fyi]
    • All map iteration APIs preserve first name positions with the final parsed values: FAIL (Chrome: PASS, Safari: FAIL)
    • Repeated feature blocks merge without moving existing map entries: FAIL (Chrome: FAIL, Safari: FAIL)
    • Invalid parsed declarations neither reserve positions nor overwrite map entries: FAIL (Chrome: FAIL, Safari: FAIL)
    • Parsed names are case-sensitive and escaped spellings update the same map entry: FAIL (Chrome: PASS, Safari: FAIL)
    • Updating a parsed map entry preserves its position while deletion and reinsertion append it: FAIL (Chrome: FAIL, Safari: FAIL)
    • Character-variant blocks populate the characterVariant map in first name order: FAIL (Chrome: PASS, Safari: FAIL)
  • /css/css-fonts/font-feature-values-serialization-order.html [wpt.fyi]
    • An empty rule serializes with one space between its braces: FAIL (Chrome: PASS, Safari: PASS)
    • The font-display descriptor serializes before feature value blocks: FAIL (Chrome: FAIL, Safari: FAIL)
    • Block types serialize in a fixed order rather than source order: FAIL (Chrome: FAIL, Safari: PASS)
    • Empty blocks are omitted without changing the order of nonempty blocks: FAIL (Chrome: PASS, Safari: PASS)
    • Distinct names retain source order rather than alphabetical order: FAIL (Chrome: PASS, Safari: PASS)
    • A repeated name takes its last value without moving its first position: FAIL (Chrome: PASS, Safari: PASS)
    • Merging separated blocks preserves first name positions across and within blocks: FAIL (Chrome: FAIL, Safari: PASS)
    • Invalid declarations neither reserve a name's position nor replace its value: FAIL (Chrome: FAIL, Safari: PASS)
    • Names are case-sensitive and escaped spellings update the same name in place: FAIL (Chrome: PASS, Safari: PASS)
    • The historical-forms block serializes after the other block types: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-fonts/font_feature_values_map_iteration.html [wpt.fyi]
    • Iteration of the CSSFontFeatureValuesMap does not crash.: FAIL
  • /css/css-fonts/format-specifiers-variations.html [wpt.fyi]
    • Do not load Ahem with format xyzwoff: FAIL
    • Do not load Ahem with format xyztruetype: FAIL
    • Do not load Ahem with format xyzopentype: FAIL
    • Do not load Ahem with format xyzwoff2: FAIL
    • Do not load Ahem with format xyzwoff-variations: FAIL
    • Do not load Ahem with format xyztruetype-variations: FAIL
    • Do not load Ahem with format xyzopentype-variations: FAIL
    • Do not load Ahem with format xyzwoff2-variations: FAIL
    • Do not load Ahem with format woffxyz: FAIL
    • Do not load Ahem with format truetypexyz: FAIL
    • Do not load Ahem with format opentypexyz: FAIL
    • Do not load Ahem with format woff2xyz: FAIL
    • Do not load Ahem with format woff-variationsxyz: FAIL
    • Do not load Ahem with format truetype-variationsxyz: FAIL
    • Do not load Ahem with format opentype-variationsxyz: FAIL
    • Do not load Ahem with format woff2-variationsxyz: FAIL
    • Do not load Ahem with format wo: FAIL
    • Do not load Ahem with format truety: FAIL
    • Do not load Ahem with format openty: FAIL
    • Do not load Ahem with format wof: FAIL
    • Do not load Ahem with format woff-variatio: FAIL
    • Do not load Ahem with format truetype-variatio: FAIL
    • Do not load Ahem with format opentype-variatio: FAIL
    • Do not load Ahem with format woff2-variatio: FAIL
    • Do not load Ahem with format ff: FAIL
    • Do not load Ahem with format uetype: FAIL
    • Do not load Ahem with format entype: FAIL
    • Do not load Ahem with format ff2: FAIL
    • Do not load Ahem with format ff-variations: FAIL
    • Do not load Ahem with format uetype-variations: FAIL
    • Do not load Ahem with format entype-variations: FAIL
    • Do not load Ahem with format ff2-variations: FAIL
    • Do not load Ahem with format wff: FAIL
    • Do not load Ahem with format tretype: FAIL
    • Do not load Ahem with format opntype: FAIL
    • Do not load Ahem with format wff2: FAIL
    • Do not load Ahem with format woff-ariations: FAIL
    • Do not load Ahem with format truetye-variations: FAIL
    • Do not load Ahem with format opentye-variations: FAIL
    • Do not load Ahem with format woff2variations: FAIL
  • /css/css-fonts/generic-family-keywords-001.html [wpt.fyi]
    • @font-face matching for quoted and unquoted ui-serif: FAIL
    • @font-face matching for quoted and unquoted ui-sans-serif: FAIL
    • @font-face matching for quoted and unquoted ui-monospace: FAIL
    • @font-face matching for quoted and unquoted ui-rounded: FAIL
  • /css/css-fonts/generic-family-keywords-002.html [wpt.fyi]
    • font-family: -webkit-generic(fangsong) treated as <font-family>, not <generic-name>: FAIL
    • font-family: -webkit-generic(kai) treated as <font-family>, not <generic-name>: FAIL
    • font-family: -webkit-generic(khmer-mul) treated as <font-family>, not <generic-name>: FAIL
    • font-family: -webkit-generic(nastaliq) treated as <font-family>, not <generic-name>: FAIL
    • font-family: emoji treated as <font-family>, not <generic-name>: FAIL [Gecko-linux2404-64-debug, Gecko-linux2404-64-opt], PASS [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt]
  • /css/css-fonts/generic-family-keywords-003.html [wpt.fyi]
    • @font-face matching for quoted and unquoted generic(fangsong) (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted generic(kai) (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted generic(khmer-mul) (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted generic(nastaliq) (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted ui-serif (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted ui-sans-serif (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted ui-monospace (drawing text in a canvas): FAIL
    • @font-face matching for quoted and unquoted ui-rounded (drawing text in a canvas): FAIL
  • /css/css-fonts/idlharness.html [wpt.fyi]
    • CSSFontFaceDescriptors interface: attribute fontSize: FAIL
    • CSSFontFaceDescriptors interface: attribute font-size: FAIL
    • CSSFontFaceDescriptors interface: attribute fontNamedInstance: FAIL
    • CSSFontFaceDescriptors interface: attribute font-named-instance: FAIL
    • CSSFontFaceDescriptors interface: attribute superscriptPositionOverride: FAIL
    • CSSFontFaceDescriptors interface: attribute superscript-position-override: FAIL
    • CSSFontFaceDescriptors interface: attribute subscriptPositionOverride: FAIL
    • CSSFontFaceDescriptors interface: attribute subscript-position-override: FAIL
    • CSSFontFaceDescriptors interface: attribute superscriptSizeOverride: FAIL
    • CSSFontFaceDescriptors interface: attribute superscript-size-override: FAIL
    • CSSFontFaceDescriptors interface: attribute subscriptSizeOverride: FAIL
    • CSSFontFaceDescriptors interface: attribute subscript-size-override: FAIL
    • CSSFontFeatureValuesRule interface: attribute annotation: FAIL
    • CSSFontFeatureValuesRule interface: attribute ornaments: FAIL
    • CSSFontFeatureValuesRule interface: attribute stylistic: FAIL
    • CSSFontFeatureValuesRule interface: attribute swash: FAIL
    • CSSFontFeatureValuesRule interface: attribute characterVariant: FAIL
    • CSSFontFeatureValuesRule interface: attribute styleset: FAIL
    • CSSFontFeatureValuesRule interface: attribute historicalForms: FAIL
    • CSSFontFeatureValuesMap interface: existence and properties of interface object: FAIL
    • CSSFontFeatureValuesMap interface object length: FAIL
    • CSSFontFeatureValuesMap interface object name: FAIL
    • CSSFontFeatureValuesMap interface: existence and properties of interface prototype object: FAIL
    • CSSFontFeatureValuesMap interface: existence and properties of interface prototype object's "constructor" property: FAIL
    • CSSFontFeatureValuesMap interface: existence and properties of interface prototype object's @@unscopables property: FAIL
    • CSSFontFeatureValuesMap interface: maplike<CSSOMString, [object Object]>: FAIL
    • CSSFontFeatureValuesMap interface: operation set(CSSOMString, (unsigned long or sequence<unsigned long>)): FAIL
  • /css/css-fonts/synthetic-bold-does-not-widen-advances.html [wpt.fyi]
    • Synthetic bold does not widen a run of inked glyphs: FAIL
    • Synthetic bold does not widen a run of U+0020 spaces: FAIL
    • Synthetic bold does not widen a run of U+00A0 no-break spaces: FAIL
  • /css/css-fonts/system-fonts-serialization.tentative.html [wpt.fyi]
    • caption: FAIL
    • icon: FAIL
    • menu: FAIL
    • message-box: FAIL
    • small-caption: FAIL
    • status-bar: FAIL
  • /css/css-fonts/test_font_feature_values_parsing.html [wpt.fyi]
    • basic parse tests - @font-feature-values bongo { @blah } @styleset { abc: 1 2 3; } }: FAIL (Chrome: FAIL, Safari: FAIL)
  • /css/css-fonts/font-display/font-display-failure-fallback.html [wpt.fyi]: OK [Gecko-android-em-14-x86_64-debug-geckoview, Gecko-android-em-14-x86_64-lite-opt-geckoview, Gecko-android-em-14-x86_64-opt-geckoview, Gecko-linux2404-64-opt, Gecko-windows11-32-25h2-debug, Gecko-windows11-32-25h2-opt, Gecko-windows11-64-25h2-debug, Gecko-windows11-64-25h2-opt], SKIP [Gecko-linux2404-64-debug]
  • /css/css-fonts/parsing/font-face-width.html [wpt.fyi]
    • font-width: auto is valid: FAIL
    • font-width: normal is valid: FAIL
    • font-width: condensed is valid: FAIL
    • font-width: 125% is valid: FAIL
    • font-width: 75% 125% is valid: FAIL
    • font-stretch: auto is valid: FAIL
    • font-stretch: normal is valid: FAIL
    • font-stretch: condensed is valid: FAIL
    • font-stretch: 125% is valid: FAIL
    • font-stretch: 75% 125% is valid: FAIL
    • font-width and font-stretch address the same descriptor: FAIL
  • /css/css-fonts/parsing/font-palette-values-valid.html [wpt.fyi]
    • CSS Fonts Module Level 4: parsing @font-palette-values 35: FAIL
  • /css/css-fonts/parsing/font-style-computed.html [wpt.fyi]
    • Property font-style value 'oblique 14deg': FAIL
  • /css/css-fonts/parsing/font-style-valid.html [wpt.fyi]
    • e.style['font-style'] = "oblique 14deg" should set the property value: FAIL
  • /css/css-fonts/parsing/palette-mix-computed.html [wpt.fyi]
    • Property font-palette value 'palette-mix( light 30%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklab, light 30%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklab, 30% light, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklab, light 30%, light)': FAIL
    • Property font-palette value 'palette-mix(in oklab, light 30%, normal)': FAIL
    • Property font-palette value 'palette-mix(in oklab, --foo 30%, normal)': FAIL
    • Property font-palette value 'palette-mix(in oklab, 30% --foo, normal)': FAIL
    • Property font-palette value 'palette-mix(in oklab, light calc(sign(1rem - 1px) * 10%), dark calc(sign(1rem - 1px) * 40%))': FAIL
    • Property font-palette value 'palette-mix(in srgb, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in srgb-linear, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in display-p3, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in display-p3-linear, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in a98-rgb, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in prophoto-rgb, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in rec2020, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in lab, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in xyz, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in xyz-d50, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in xyz-d65, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hsl, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hsl shorter hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hsl longer hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hsl increasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hsl decreasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hwb, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hwb shorter hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hwb longer hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hwb increasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in hwb decreasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in lch, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in lch shorter hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in lch longer hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in lch increasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in lch decreasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklch, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklch shorter hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklch longer hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklch increasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(in oklch decreasing hue, light 10%, dark)': FAIL
    • Property font-palette value 'palette-mix(palette-mix(in srgb, light 30%, normal) 20%, dark)': FAIL
    • Property font-palette value 'palette-mix(palette-mix(in srgb, light 30%, normal) 30%, palette-mix(in srgb, --foo 30%, dark))': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 50%, light 50%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 10%, light 90%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 50%, light 40%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 40%, light 50%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 30%, light 40%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 75%, light 75%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 0%, light 0%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark calc(10%), light 50%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 50%, light calc(10%))': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark calc(10%), light calc(90%))': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark calc(10%), light calc(80%))': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 50%, light)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 10%, light)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark calc(50%), light)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark calc(10%), light)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light 50%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light 90%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light calc(50%))': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light calc(90%))': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 50%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light, --foo)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 50%, light 30%, --foo 20%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 30%, light 60%, --foo 90%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark, light, --foo, --bar)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 0%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 0%, light 0%, --foo 0%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 0%, light 0%, --foo 100%)': FAIL
    • Property font-palette value 'palette-mix(in srgb, dark 0%, light 0%, --foo 50%)': FAIL
  • /css/css-fonts/parsing/palette-mix-valid.html [wpt.fyi]
    • e.style['font-palette'] = "palette-mix( light 30%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, light 30%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, 30% light, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, light 30%, light)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, light 30%, normal)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, --foo 30%, normal)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, 30% --foo, normal)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb-linear, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in display-p3, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in display-p3-linear, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in a98-rgb, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in prophoto-rgb, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in rec2020, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in lab, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in xyz, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in xyz-d50, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in xyz-d65, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hsl, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hsl shorter hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hsl longer hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hsl increasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hsl decreasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hwb, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hwb shorter hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hwb longer hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hwb increasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in hwb decreasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in lch, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in lch shorter hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in lch longer hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in lch increasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in lch decreasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklch, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklch shorter hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklch longer hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklch increasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklch decreasing hue, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(palette-mix(in srgb, light 30%, normal) 20%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(palette-mix(in srgb, light 30%, normal) 30%, palette-mix(in srgb, --foo 30%, dark))" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 50%, dark 50%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 10%, dark 90%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 50%, dark 40%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 40%, dark 50%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 30%, dark 40%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 75%, dark 75%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 0% , dark 0%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light calc(10%), dark 50%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 50%, dark calc(10%))" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light calc(10%), dark calc(90%))" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 50%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light 10%, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light calc(50%), dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light, dark 50%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light, dark 90%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light, dark calc(50%))" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, light, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 100%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 50%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark, light, --foo)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in oklab, dark, light, --foo)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 50%, light 30%, --foo 20%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 30%, light 60%, --foo 90%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 50%, light, --foo)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark, light 25%, --foo 25%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark, light, --foo, --bar)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 0%)" should set the property value: FAIL
    • e.style['font-palette'] = "palette-mix(in srgb, dark 0%, light 0%, --foo 0%)" should set the property value: FAIL
  • /css/css-fonts/variations/at-font-face-descriptors.html [wpt.fyi]
    • font-weight(valid): 'normal' keyword: normal: FAIL
    • font-weight(valid): 'bold' keyword: bold: FAIL
    • font-weight(valid): 'auto' keyword inside @font-face: auto: FAIL
    • font-weight(invalid): 'lighter' keyword inside @font-face: lighter: FAIL
    • font-weight(invalid): 'bolder' keyword inside @font-face: bolder: FAIL
    • font-weight(invalid): Extra content after keyword: bold a: FAIL
    • font-weight(valid): Values that are not multiple of 100 should be parsed successfully: 401: FAIL
    • font-weight(valid): Non-integer values should be parsed successfully: 400.1: FAIL
    • font-weight(valid): Minimum allowed value should be parsed successfully: 1: FAIL
    • font-weight(invalid): Values below minimum should be rejected: 0.999: FAIL
    • font-weight(invalid): Values below zero should be rejected: -100: FAIL
    • font-weight(valid): Maximum allowed value should be parsed successfully: 1000: FAIL
    • font-weight(invalid): Values above maximum should be rejected: 1000.001: FAIL
    • font-weight(invalid): Extra content after value: 100 a: FAIL
    • font-weight(valid): Simple calc value: calc(100.5): FAIL
    • font-weight(valid): Out-of-range simple calc value: calc(1001): FAIL
    • font-weight(valid): Valid calc expression: calc(100.5*3 + 50.5): FAIL
    • font-weight(valid): Valid calc expression with out-of-range value: calc(100.5*3 + 800): FAIL
    • font-weight(invalid): Valid calc expression with units: calc(100.5px + 50.5px): FAIL
    • font-weight(valid): Simple range: 100 900: FAIL
    • font-weight(valid): Simple range with equal upper and lower bounds: 500 500: FAIL
    • font-weight(invalid): Lower bound out of range: 0.9 100: FAIL
    • font-weight(invalid): Upper bound out of range: 100 1001: FAIL
    • font-weight(valid): Lower bound calc(): calc(100 + 100) 400: FAIL
    • font-weight(valid): Upper bound calc(): 200 calc(200 + 200): FAIL
    • font-weight(valid): Both bounds are calc(): calc(100 + 100) calc(200 + 200): FAIL
    • font-weight(valid): Bounds out of order are valid: 400 200: FAIL
    • font-weight(invalid): Extra content after upper bound: 100 200 300: FAIL
    • font-stretch(valid): 'ultra-condensed' keyword: ultra-condensed: FAIL
    • font-stretch(valid): 'extra-condensed' keyword: extra-condensed: FAIL
    • font-stretch(valid): 'condensed' keyword: condensed: FAIL
    • font-stretch(valid): 'semi-condensed' keyword: semi-condensed: FAIL
    • font-stretch(valid): 'normal' keyword: normal: FAIL
    • font-stretch(valid): 'semi-expanded' keyword: semi-expanded: FAIL
    • font-stretch(valid): 'expanded' keyword: expanded: FAIL
    • font-stretch(valid): 'extra-expanded' keyword: extra-expanded: FAIL
    • font-stretch(valid): 'ultra-expanded' keyword: ultra-expanded: FAIL
    • font-stretch(invalid): Extra content after value: expanded a: FAIL
    • font-stretch(valid): 'auto' keyword inside @font-face: auto: FAIL
    • font-stretch(valid): Legal percentage: 1%: FAIL
    • font-stretch(valid): Legal percentage: 10.5%: FAIL
    • font-stretch(valid): Legal percentage: 100%: FAIL
    • font-stretch(valid): Legal percentage: 1000%: FAIL
    • font-stretch(invalid): Only percentages, not numbers allowed: 100: FAIL
    • font-stretch(invalid): Negative values are illegal: -1%: FAIL
    • font-stretch(valid): Zero is legal: 0%: FAIL
    • font-stretch(invalid): Extra content after value: 100% a: FAIL
    • font-stretch(valid): Simple calc value: calc(200.5%): FAIL
    • font-stretch(valid): Valid calc expression: calc(50%*2 - 20%): FAIL
    • font-stretch(valid): Negative calc value (to be clamped): calc(-100%): FAIL
    • font-stretch(valid): Negative calc expression (to be clamped): calc(50% - 50%*2): FAIL
    • font-stretch(invalid): Unit-less calc value: calc(100): FAIL
    • font-stretch(invalid): Calc value with units: calc(100px): FAIL
    • font-stretch(valid): Simple range: 100% 200%: FAIL
    • font-stretch(valid): Simple range with equal upper and lower bounds: 100% 100%: FAIL
    • font-stretch(invalid): Lower bound out of range: -100% 100%: FAIL
    • font-stretch(valid): Lower bound calc(): calc(10% + 10%) 30%: FAIL
    • font-stretch(valid): Upper bound calc(): 10% calc(10% + 10%): FAIL
    • font-stretch(valid): Both bounds are calc(): calc(10% + 10%) calc(20% + 20%): FAIL
    • font-stretch(valid): Bounds out of order: 200% 100%: FAIL
    • font-stretch(invalid): Extra content after upper bound: 100% 200% 300%: FAIL
    • font-style(valid): 'normal' keyword: normal: FAIL
    • font-style(valid): 'italic' keyword: italic: FAIL
    • font-style(valid): 'oblique' keyword: oblique: FAIL
    • font-style(valid): 'auto' keyword inside @font-face: auto: FAIL
    • font-style(invalid): 'italic' followed by angle: italic 20deg: FAIL
    • font-style(invalid): Extra content after keyword: italic a: FAIL
    • font-style(valid): 'oblique' followed by zero degrees: oblique 0deg: FAIL
    • font-style(valid): 'oblique' followed by former default 20deg angle: oblique 20deg: FAIL
    • font-style(valid): 'oblique' followed by maxumum 90 degree angle: oblique 90deg: FAIL
    • font-style(valid): 'oblique' followed by minimum -90 degree angle: oblique -90deg: FAIL
    • font-style(valid): 'oblique' followed by calc with out of range value (should be clamped): oblique calc(91deg): FAIL
    • font-style(valid): 'oblique' followed by calc with out of range value (should be clamped): oblique calc(-91deg): FAIL
    • font-style(valid): 'oblique' followed by angle in radians: oblique 0rad: FAIL
    • font-style(invalid): 'oblique' followed by unit-less number: oblique 20: FAIL
    • font-style(invalid): 'oblique' followed by non-angle: oblique 20px: FAIL
    • font-style(invalid): 'oblique' followed by non-number: oblique a: FAIL
    • font-style(invalid): 'oblique' followed by isolated minus: oblique -: FAIL
    • font-style(invalid): 'oblique' followed by minus and angle separated by space: oblique - 20deg: FAIL
    • font-style(invalid): 'oblique' followed by minus and non-number: oblique -a: FAIL
    • font-style(valid): Simple range: oblique 10deg 20deg: FAIL
    • font-style(valid): Simple range with equal upper and lower bounds: oblique 10deg 10deg: FAIL
    • font-style(valid): Simple range with equal upper and lower bounds: oblique 0deg 0deg: FAIL
    • font-style(valid): Simple range with former default angle for both bounds: oblique 20deg 20deg: FAIL
    • font-style(valid): Bounds out of order: oblique 20deg 10deg: FAIL
    • font-style(invalid): Lower bound out of range: oblique -100deg 20deg: FAIL
    • font-style(invalid): Upper bound out of range: oblique 20deg 100deg: FAIL
    • font-style(invalid): Extra content after upper bound: oblique 10deg 20deg 30deg: FAIL
  • /css/css-fonts/variations/font-stretch.html [wpt.fyi]
    • @getComputedStyle: 1e9% - huge legal percentage: FAIL
  • /css/css-fonts/variations/font-style-parsing.html [wpt.fyi]
    • Font-style (computed): 'oblique' followed by calc is valid even if it mixes units (with computation): FAIL
  • /css/css-fonts/variations/font-weight-matching-installed-fonts.html [wpt.fyi]
    • Test native font matching on CSSTest Weights W2569 for weight 375: FAIL
    • Test native font matching on CSSTest Weights Full for weight 375: FAIL
    • Test native font matching on CSSTest Weights W1479 for weight 475: FAIL
    • Test native font matching on CSSTest Weights Full for weight 425: FAIL
    • Test native font matching on CSSTest Weights Full for weight 525: FAIL
    • Test native font matching on CSSTest Weights Full for weight 675: FAIL

Tests Disabled in Gecko Infrastructure

Status: NEW → RESOLVED
Closed: 11 hours ago
Resolution: --- → FIXED
Target Milestone: --- → 162 Branch
You need to log in before you can comment on or make changes to this bug.