aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorWPT Sync Bot <josh+wptsync@joshmatthews.net>2023-03-21 01:36:33 +0000
committerWPT Sync Bot <josh+wptsync@joshmatthews.net>2023-03-21 01:40:05 +0000
commit4e30ee5e0877f496eaeffdc0e11233830021e77d (patch)
tree7a15d4a18adb4e34fd1210893fa17bb3fd7a59f3 /tests
parent4931ee0eba673ea63d63f6e56a4e15e4c60dc60f (diff)
downloadservo-4e30ee5e0877f496eaeffdc0e11233830021e77d.tar.gz
servo-4e30ee5e0877f496eaeffdc0e11233830021e77d.zip
Update web-platform-tests to revision b'065cf84e9f00d1c11faf2a41e500a73ad6b95a48'
Diffstat (limited to 'tests')
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini12
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini30
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-color-mix-function.html.ini246
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-lab.html.ini87
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-relative-color.html.ini315
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-color-mix-function.html.ini258
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-lab.html.ini84
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-relative-color.html.ini318
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-color/parsing/gamut-mapping.html.ini54
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-before-pseudo.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-fonts/discrete-no-interpolation.html.ini1068
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini15
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini400
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini81
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini123
-rw-r--r--tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini150
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/fetch/range/blob.any.js.ini122
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini5
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini6
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini4
-rw-r--r--tests/wpt/metadata-layout-2020/html/syntax/parsing/DOMContentLoaded-defer.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini3
-rw-r--r--tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini170
-rw-r--r--tests/wpt/metadata-layout-2020/url/url-statics-canparse.any.js.ini44
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini2
-rw-r--r--tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini (renamed from tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini)0
-rw-r--r--tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini4
-rw-r--r--tests/wpt/metadata/MANIFEST.json443
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini3
-rw-r--r--tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini3
-rw-r--r--tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini30
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/color-computed-color-mix-function.html.ini246
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/color-computed-lab.html.ini87
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/color-computed-relative-color.html.ini315
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/color-valid-color-mix-function.html.ini258
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/color-valid-lab.html.ini84
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/color-valid-relative-color.html.ini315
-rw-r--r--tests/wpt/metadata/css/css-color/parsing/gamut-mapping.html.ini12
-rw-r--r--tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-fonts/discrete-no-interpolation.html.ini1068
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/trailing-space-position-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini81
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini3
-rw-r--r--tests/wpt/metadata/css/cssom-view/elementFromPoint-subpixel.html.ini3
-rw-r--r--tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini2
-rw-r--r--tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini6
-rw-r--r--tests/wpt/metadata/fetch/range/blob.any.js.ini18
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini1
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini5
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini3
-rw-r--r--tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini3
-rw-r--r--tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini1
-rw-r--r--tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini6
-rw-r--r--tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini4
-rw-r--r--tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini3
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini5
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini5
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini3
-rw-r--r--tests/wpt/metadata/resource-timing/response-status-code.html.ini4
-rw-r--r--tests/wpt/metadata/url/url-statics-canparse.any.js.ini44
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini2
-rw-r--r--tests/wpt/metadata/webmessaging/without-ports/018.html.ini (renamed from tests/wpt/metadata/webmessaging/with-ports/018.html.ini)0
-rw-r--r--tests/wpt/metadata/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini4
-rw-r--r--tests/wpt/mozilla/meta/css/stylesheet_media_queries.html.ini3
-rw-r--r--tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini3
-rw-r--r--tests/wpt/web-platform-tests/.azure-pipelines.yml20
-rw-r--r--tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/scope-evaluation.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/scope-implicit.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/scope-invalidation.html5
-rw-r--r--tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html25
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/oklch-010.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function.html178
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-lab.html64
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-relative-color.html212
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function.html186
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-lab.html62
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-relative-color.html217
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/parsing/gamut-mapping.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-fonts/discrete-no-interpolation.html94
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/reference/clip-path-stripes-003-ref.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/clip-path/svg-clip-path-fixed-values.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/mask-text-001.svg3
-rw-r--r--tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/reference/mask-text-001-ref.svg1
-rw-r--r--tests/wpt/web-platform-tests/css/css-overflow/overflow-no-interpolation.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition-ref.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition.html50
-rw-r--r--tests/wpt/web-platform-tests/docs/requirements.txt2
-rw-r--r--tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md2
-rw-r--r--tests/wpt/web-platform-tests/fetch/range/blob.any.js64
-rw-r--r--tests/wpt/web-platform-tests/html/anonymous-iframe/worker-cookies.tentative.https.window.js1
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-idl-property.html18
-rw-r--r--tests/wpt/web-platform-tests/media-source/mediasource-buffered.html11
-rw-r--r--tests/wpt/web-platform-tests/resources/test/tox.ini2
-rw-r--r--tests/wpt/web-platform-tests/selection/crashtests/selection-modify-around-input.html24
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/requirements_build.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml28
-rw-r--r--tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py8
-rw-r--r--tests/wpt/web-platform-tests/tools/docker/Dockerfile2
-rw-r--r--tests/wpt/web-platform-tests/tools/requirements_mypy.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/requirements_pytest.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/tox.ini2
-rw-r--r--tests/wpt/web-platform-tests/tools/wave/tox.ini2
-rw-r--r--tests/wpt/web-platform-tests/tools/webtransport/requirements.txt5
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/tox.ini2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/requirements_chromium.txt5
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/tox.ini2
-rw-r--r--tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py1
-rw-r--r--tests/wpt/web-platform-tests/url/url-statics-canparse.any.js42
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/bidi/conftest.py48
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py16
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/find_element_from_shadow_root/find.py32
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/find_elements_from_shadow_root/find.py31
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/get_timeouts/get.py9
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py73
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_max.json200
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_mean.json196
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_min.json200
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_product.json200
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_sum.json196
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/slice.json104
-rw-r--r--tests/wpt/web-platform-tests/webnn/resources/test_data/split.json158
-rw-r--r--tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements-ref.html16
-rw-r--r--tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements.html21
-rwxr-xr-xtests/wpt/web-platform-tests/wpt4
184 files changed, 7108 insertions, 2799 deletions
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini
deleted file mode 100644
index 0842d0b5727..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-001.html]
- [hit-test-floats-001]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
deleted file mode 100644
index 968f62a2553..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-002.html]
- [Hit test float]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
deleted file mode 100644
index 665ec4646cb..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-003.html]
- [Miss float below something else]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
deleted file mode 100644
index 147f062e548..00000000000
--- a/tests/wpt/metadata-layout-2020/css/CSS2/floats/hit-test-floats-005.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-005.html]
- [Miss clipped float]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini
index 5fda15700c0..3e5096beef3 100644
--- a/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini
@@ -1,15 +1,3 @@
[block-in-inline-hittest-float-002.html]
[block-in-inline-hittest-float-002]
expected: FAIL
-
- [with background]
- expected: FAIL
-
- [with padding]
- expected: FAIL
-
- [floats before block-in-inline]
- expected: FAIL
-
- [floats before block-in-inline with background]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini
new file mode 100644
index 00000000000..d5956188627
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini
@@ -0,0 +1,30 @@
+[background-repeat-no-interpolation.html]
+ [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [round\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0) should be [round\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0.3) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.5) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.6) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (1) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (1.5) should be [round\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-color-mix-function.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-color-mix-function.html.ini
index 7c1963394f6..0418f34df05 100644
--- a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-color-mix-function.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-color-mix-function.html.ini
@@ -1420,3 +1420,249 @@
[Property color value 'color-mix(in xyz-d65, color(xyz-d65 .1 .2 .3 / none), color(xyz-d65 .5 .6 .7 / none))']
expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, 25% oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), 25% oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 30%, oklch(0.5 0.6 70deg) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 12.5%, oklch(0.5 0.6 70deg) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 0%, oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, 25% oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4), 25% oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 30%, oklch(0.5 0.6 70deg / .8) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 12.5%, oklch(0.5 0.6 70deg / .8) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 0%, oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(none none none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(none 0.2 30deg), oklch(0.5 none 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / 0.5))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, 25% oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), 25% oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, 25% oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), 25% oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 30%, oklab(0.5 0.6 0.7 / .8) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 12.5%, oklab(0.5 0.6 0.7 / .8) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 0%, oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-lab.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-lab.html.ini
index 26fa6b63414..9ae1836bedc 100644
--- a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-lab.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-lab.html.ini
@@ -286,3 +286,90 @@
[Property color value 'oklch(20% 0 10/0.5)']
expected: FAIL
+
+ [Property color value 'oklab(0.2 0 0.1/0.5)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.2 0 0.1/50%)']
+ expected: FAIL
+
+ [Property color value 'oklab(4 0 0.1/50%)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 -1.6 1.6)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 -2 2)']
+ expected: FAIL
+
+ [Property color value 'oklab(-0.4 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 -0.2 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 0 -0.2)']
+ expected: FAIL
+
+ [Property color value 'oklab(calc(0.5 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))']
+ expected: FAIL
+
+ [Property color value 'oklab(calc(-0.5 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))']
+ expected: FAIL
+
+ [Property color value 'oklab(0.2 none none / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(20% 0 0.1/0.5)']
+ expected: FAIL
+
+ [Property color value 'oklch(1 2.3 0deg / 0.5)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 0.5 20deg/0.5)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 0.5 20deg/50%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 20deg / -10%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 20deg / 110%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 1.28rad)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 380deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 -340deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 740deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 -700deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(-0.4 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 -0.2 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 20 / 110%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 -700)']
+ expected: FAIL
+
+ [Property color value 'oklch(calc(0.5 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))']
+ expected: FAIL
+
+ [Property color value 'oklch(calc(-0.5 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 none none / none)']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-relative-color.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-relative-color.html.ini
index 45682f1413d..f6ca762dc07 100644
--- a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-relative-color.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-computed-relative-color.html.ini
@@ -2881,3 +2881,318 @@
[Property color value 'lch(from var(--mygray) l 30 h)']
expected: FAIL
+
+ [Property color value 'rgb(from oklab(1 0.365 -0.16) r g b)']
+ expected: FAIL
+
+ [Property color value 'rgb(from oklch(1 0.399 336.3) r g b)']
+ expected: FAIL
+
+ [Property color value 'hsl(from oklab(1 0.365 -0.16) h s l)']
+ expected: FAIL
+
+ [Property color value 'hsl(from oklch(1 0.399 336.3) h s l)']
+ expected: FAIL
+
+ [Property color value 'hwb(from oklab(1 0.365 -0.16) h w b)']
+ expected: FAIL
+
+ [Property color value 'hwb(from oklch(1 0.399 336.3) h w b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(2 3 4 / 500%) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(-2 -3 -4 / -500%) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(from oklab(0.25 0.2 0.5) l a b) l a b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0 0 0 / 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l 0 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) 0 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l 0 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0.35 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l 0.35 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a 0.35 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / .35)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) 0.35 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l 0.35 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0.35 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / .35)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.7 0.45 0.3 / 40%) 2 3 4 / 500)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.7 0.45 0.3 / 40%) -2 -3 -4 / -500)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l b a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a a / a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l b a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a a / a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) none none none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) none none none / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 none 0.5) l a b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / none) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3) alpha b a / l)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3) alpha a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3) alpha a a / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3 / 40%) alpha b a / l)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3 / 40%) alpha a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3 / 40%) alpha a a / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(2 3 400 / 500%) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(-2 -3 -400 / -500%) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(from oklch(0.7 0.45 30) l c h) l c h)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0 / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0deg / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l 0 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 0deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l 0 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 0deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0.25 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l 0.25 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 25 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 25deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / .25)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0.25 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l 0.25 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 25 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 25deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / .25)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 2 3 400 / 500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) -2 -3 -400 / -500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 400deg / 500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 -400deg / -500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) l c c / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) l c c / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) none none none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) none none none / none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / none) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) alpha c h / l)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) alpha c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) alpha c c / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c h / l)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-color-mix-function.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-color-mix-function.html.ini
index bc3947b1438..bf32053353b 100644
--- a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-color-mix-function.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-color-mix-function.html.ini
@@ -1306,3 +1306,261 @@
[e.style['color'\] = "color-mix(in xyz-d65, color(xyz-d65 .1 .2 .3 / none), color(xyz-d65 .5 .6 .7 / none))" should set the property value]
expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, 25% oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), 25% oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 30%, oklch(0.5 0.6 70deg) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 12.5%, oklch(0.5 0.6 70deg) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 0%, oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, 25% oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4), 25% oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 30%, oklch(0.5 0.6 70deg / .8) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 12.5%, oklch(0.5 0.6 70deg / .8) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 0%, oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(none none none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(none 0.2 30deg), oklch(0.5 none 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / 0.5))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, 25% oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), 25% oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, 25% oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), 25% oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 30%, oklab(0.5 0.6 0.7 / .8) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 12.5%, oklab(0.5 0.6 0.7 / .8) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 0%, oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-lab.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-lab.html.ini
index da803858db7..86953e283cd 100644
--- a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-lab.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-lab.html.ini
@@ -274,3 +274,87 @@
[e.style['color'\] = "oklch(0 0 0 / none)" should set the property value]
expected: FAIL
+
+ [e.style['color'\] = "oklab(0.2 0 0.1/0.5)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.2 0 0.1/50%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(4 0 0.1/50%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 -1.6 1.6)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 -2 2)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(-0.4 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 -2 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 0 -2)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(calc(0.5 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(calc(-0.5 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.2 none none / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(1 2.3 0deg / 0.5)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 0.5 20deg/0.5)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 0.5 20deg/50%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 20deg / -10%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 20deg / 110%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 1.28rad)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 380deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 -340deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 740deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 -700deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(-4 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 -0.2 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 20 / 110%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 -700)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(calc(0.5 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(calc(-0.5 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 none none / none)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-relative-color.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-relative-color.html.ini
index 8b31e3c4400..64ebd2cd7b1 100644
--- a/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-relative-color.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/color-valid-relative-color.html.ini
@@ -2837,11 +2837,323 @@
[e.style['color'\] = "color(from color(xyz-d65 7 -20.5 100 / none) xyz-d65 x y z / alpha)" should set the property value]
expected: FAIL
- [e.style['color'\] = "rgb(from var(--color) calc(r * .3 + g * .59 + b * .11) calc(r * .3 + g * .59 + b * .11) calc(r * .3 + g * .59 + b * .11))" should set the property value]
- expected: FAIL
-
[e.style['color'\] = "rgb(from indianred 255 g b)" should set the property value]
expected: FAIL
[e.style['color'\] = "lch(from peru calc(l * 0.8) c h)" should set the property value]
expected: FAIL
+
+ [e.style['color'\] = "rgb(from oklab(1 0.365 -0.16) r g b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "rgb(from oklch(1 0.399 336.3) r g b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hsl(from oklab(1 0.365 -0.16) h s l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hsl(from oklch(1 0.399 336.3) h s l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hwb(from oklab(1 0.365 -0.16) h w b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hwb(from oklch(1 0.399 336.3) h w b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(2 3 4 / 500%) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(-2 -3 -4 / -500%) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(from oklab(0.25 0.2 0.5) l a b) l a b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0 0 0 / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l 0 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) 0 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l 0 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0.35 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l 0.35 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a 0.35 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / .35)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) 0.35 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l 0.35 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0.35 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / .35)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.7 0.45 0.3 / 40%) 2 3 4 / 500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.7 0.45 0.3 / 40%) -2 -3 -4 / -500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l b a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a a / a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l b a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a a / a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) none none none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) none none none / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 none 0.5) l a b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / none) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3) alpha b a / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3) alpha a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3) alpha a a / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3 / 40%) alpha b a / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3 / 40%) alpha a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3 / 40%) alpha a a / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(2 3 400 / 500%) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(-2 -3 -400 / -500%) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(from oklch(0.7 0.45 30) l c h) l c h)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0 / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0deg / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l 0 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 0deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l 0 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 0deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0.25 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l 0.25 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 0.25 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 25deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / .25)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0.25 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l 0.25 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 0.25 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 25deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / .25)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 2 3 400 / 500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) -2 -3 -400 / -500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 400deg / 500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 -400deg / -500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) l c c / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) l c c / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) none none none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) none none none / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / none) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) alpha c h / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) alpha c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) alpha c c / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c h / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-color/parsing/gamut-mapping.html.ini b/tests/wpt/metadata-layout-2020/css/css-color/parsing/gamut-mapping.html.ini
new file mode 100644
index 00000000000..5eac06a8dbe
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-color/parsing/gamut-mapping.html.ini
@@ -0,0 +1,54 @@
+[gamut-mapping.html]
+ [Property color value 'color-mix(in hsl, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, lab(100 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, lab(100 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-before-pseudo.html.ini b/tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-before-pseudo.html.ini
new file mode 100644
index 00000000000..5b685485f3c
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-flexbox/hittest-before-pseudo.html.ini
@@ -0,0 +1,3 @@
+[hittest-before-pseudo.html]
+ [Hit-testing text within a pseudo-element flex-item should return the flexbox as the hittest result.]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/discrete-no-interpolation.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/discrete-no-interpolation.html.ini
new file mode 100644
index 00000000000..3c9368a965e
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/css-fonts/discrete-no-interpolation.html.ini
@@ -0,0 +1,1068 @@
+[discrete-no-interpolation.html]
+ [CSS Transitions with transition: all: property <font-family> from [initial\] to [c\] at (-0.3) should be [c\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-family> from [initial\] to [c\] at (0) should be [c\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-family> from [initial\] to [c\] at (0.3) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0.5) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0.6) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (1) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (1.5) should be [c\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0.3) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-caps> from [initial\] to [small-caps\] at (-0.3) should be [small-caps\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-caps> from [initial\] to [small-caps\] at (0) should be [small-caps\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-caps> from [initial\] to [small-caps\] at (0.3) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0.5) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0.6) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (1) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (1.5) should be [small-caps\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini
index 94e84c6d5ec..bf767066a79 100644
--- a/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-fonts/variations/at-font-face-font-matching.html.ini
@@ -53,9 +53,6 @@
[Matching font-weight: '399' should prefer '450 460' over '500 501']
expected: FAIL
- [Matching font-stretch: '100%' should prefer '100%' over '110% 120%']
- expected: FAIL
-
[Matching font-stretch: '110%' should prefer '115% 116%' over '105%']
expected: FAIL
@@ -221,9 +218,6 @@
[Matching font-weight: '399' should prefer '500 501' over '502 510']
expected: FAIL
- [Matching font-stretch: '110%' should prefer '110% 120%' over '115% 116%']
- expected: FAIL
-
[Matching font-stretch: '90%' should prefer '110% 140%' over '120% 130%']
expected: FAIL
@@ -260,9 +254,6 @@
[Matching font-style: 'normal' should prefer 'oblique 20deg 30deg' over 'oblique -50deg -20deg']
expected: FAIL
- [Matching font-style: 'italic' should prefer 'italic' over 'oblique 20deg']
- expected: FAIL
-
[Matching font-style: 'italic' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg']
expected: FAIL
@@ -284,9 +275,6 @@
[Matching font-weight: '400' should prefer '351 398' over '501 550']
expected: FAIL
- [Matching font-weight: '430' should prefer '450 460' over '500']
- expected: FAIL
-
[Matching font-weight: '430' should prefer '400 425' over '350 399']
expected: FAIL
@@ -322,3 +310,6 @@
[Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg']
expected: FAIL
+
+ [Matching font-style: 'oblique 20deg' should prefer 'italic' over 'oblique 0deg']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini
index ad3b251437e..2a6a9ba5a81 100644
--- a/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-text/white-space/trailing-space-position-001.html.ini
@@ -4,6 +4,3 @@
[CSS Test: Positions of trailing collapsible spaces 2]
expected: FAIL
-
- [CSS Test: Positions of trailing collapsible spaces 4]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini
index 179799c037f..c83b87a483a 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-001.html.ini
@@ -53,156 +53,6 @@
[background-position length(px) / events]
expected: FAIL
- [color color(rgba) / values]
- expected: FAIL
-
- [font-size length(pt) / values]
- expected: FAIL
-
- [font-size length(pc) / values]
- expected: FAIL
-
- [font-size length(px) / values]
- expected: FAIL
-
- [font-size length(em) / values]
- expected: FAIL
-
- [font-size length(ex) / values]
- expected: FAIL
-
- [font-size length(mm) / values]
- expected: FAIL
-
- [font-size length(cm) / values]
- expected: FAIL
-
- [font-size length(in) / values]
- expected: FAIL
-
- [font-size percentage(%) / values]
- expected: FAIL
-
- [font-weight font-weight(keyword) / values]
- expected: FAIL
-
- [font-weight font-weight(numeric) / values]
- expected: FAIL
-
- [line-height number(integer) / values]
- expected: FAIL
-
- [line-height number(decimal) / values]
- expected: FAIL
-
- [line-height length(pt) / values]
- expected: FAIL
-
- [line-height length(pc) / values]
- expected: FAIL
-
- [line-height length(px) / values]
- expected: FAIL
-
- [line-height length(em) / values]
- expected: FAIL
-
- [line-height length(ex) / values]
- expected: FAIL
-
- [line-height length(mm) / values]
- expected: FAIL
-
- [line-height length(cm) / values]
- expected: FAIL
-
- [line-height length(in) / values]
- expected: FAIL
-
- [line-height percentage(%) / values]
- expected: FAIL
-
- [letter-spacing length(pt) / values]
- expected: FAIL
-
- [letter-spacing length(pc) / values]
- expected: FAIL
-
- [letter-spacing length(px) / values]
- expected: FAIL
-
- [letter-spacing length(em) / values]
- expected: FAIL
-
- [letter-spacing length(ex) / values]
- expected: FAIL
-
- [letter-spacing length(mm) / values]
- expected: FAIL
-
- [letter-spacing length(cm) / values]
- expected: FAIL
-
- [letter-spacing length(in) / values]
- expected: FAIL
-
- [word-spacing length(pt) / values]
- expected: FAIL
-
- [word-spacing length(pc) / values]
- expected: FAIL
-
- [word-spacing length(px) / values]
- expected: FAIL
-
- [word-spacing length(em) / values]
- expected: FAIL
-
- [word-spacing length(ex) / values]
- expected: FAIL
-
- [word-spacing length(mm) / values]
- expected: FAIL
-
- [word-spacing length(cm) / values]
- expected: FAIL
-
- [word-spacing length(in) / values]
- expected: FAIL
-
- [word-spacing percentage(%) / values]
- expected: FAIL
-
- [text-indent length(pt) / values]
- expected: FAIL
-
- [text-indent length(pc) / values]
- expected: FAIL
-
- [text-indent length(px) / values]
- expected: FAIL
-
- [text-indent length(em) / values]
- expected: FAIL
-
- [text-indent length(ex) / values]
- expected: FAIL
-
- [text-indent length(mm) / values]
- expected: FAIL
-
- [text-indent length(cm) / values]
- expected: FAIL
-
- [text-indent length(in) / values]
- expected: FAIL
-
- [text-indent percentage(%) / values]
- expected: FAIL
-
- [text-shadow shadow(shadow) / values]
- expected: FAIL
-
[background-color color(rgba) / values]
expected: FAIL
@@ -326,302 +176,152 @@
[padding-bottom length(em) / values]
expected: FAIL
- [margin-right length(cm) / values]
- expected: FAIL
-
- [margin-right length(in) / values]
- expected: FAIL
-
- [margin-top length(pt) / values]
- expected: FAIL
-
- [margin-top length(pc) / values]
- expected: FAIL
-
- [margin-top length(px) / values]
- expected: FAIL
-
- [margin-top length(em) / values]
- expected: FAIL
-
- [margin-top length(ex) / values]
- expected: FAIL
-
- [margin-top length(mm) / values]
- expected: FAIL
-
- [margin-top length(cm) / values]
- expected: FAIL
-
- [margin-top length(in) / values]
- expected: FAIL
-
- [height length(pt) / values]
- expected: FAIL
-
- [height length(pc) / values]
- expected: FAIL
-
- [height length(px) / values]
- expected: FAIL
-
- [height length(em) / values]
- expected: FAIL
-
- [height length(ex) / values]
- expected: FAIL
-
- [height length(mm) / values]
- expected: FAIL
-
- [height length(cm) / values]
- expected: FAIL
-
- [height length(in) / values]
- expected: FAIL
-
- [height percentage(%) / values]
- expected: FAIL
-
- [width length(pt) / values]
- expected: FAIL
-
- [width length(pc) / values]
- expected: FAIL
-
- [width length(px) / values]
- expected: FAIL
-
- [width length(em) / values]
- expected: FAIL
-
- [width length(ex) / values]
- expected: FAIL
-
- [width length(mm) / values]
- expected: FAIL
-
- [width length(cm) / values]
- expected: FAIL
-
- [width length(in) / values]
- expected: FAIL
-
- [width percentage(%) / values]
- expected: FAIL
-
- [min-height length(pt) / values]
- expected: FAIL
-
- [min-height length(pc) / values]
- expected: FAIL
-
- [min-height length(px) / values]
- expected: FAIL
-
- [min-height length(em) / values]
- expected: FAIL
-
- [min-height length(ex) / values]
- expected: FAIL
-
- [min-height length(mm) / values]
- expected: FAIL
-
- [min-height length(cm) / values]
- expected: FAIL
-
- [min-height length(in) / values]
- expected: FAIL
-
- [min-height percentage(%) / values]
- expected: FAIL
-
- [min-width length(pt) / values]
- expected: FAIL
-
- [min-width length(pc) / values]
- expected: FAIL
-
- [min-width length(px) / values]
- expected: FAIL
-
- [min-width length(em) / values]
- expected: FAIL
-
- [min-width length(ex) / values]
- expected: FAIL
-
- [min-width length(mm) / values]
- expected: FAIL
-
- [min-width length(cm) / values]
- expected: FAIL
-
- [min-width length(in) / values]
- expected: FAIL
-
- [min-width percentage(%) / values]
- expected: FAIL
-
- [max-height length(pt) / values]
- expected: FAIL
-
- [max-height length(pc) / values]
- expected: FAIL
-
- [max-height length(px) / values]
- expected: FAIL
-
- [max-height length(em) / values]
- expected: FAIL
-
- [max-height length(ex) / values]
+ [padding-bottom length(ex) / values]
expected: FAIL
- [max-height length(mm) / values]
+ [padding-bottom length(mm) / values]
expected: FAIL
- [max-height length(cm) / values]
+ [padding-bottom length(cm) / values]
expected: FAIL
- [max-height length(in) / values]
+ [padding-bottom length(in) / values]
expected: FAIL
- [max-height percentage(%) / values]
+ [padding-left length(pt) / values]
expected: FAIL
- [max-width length(pt) / values]
+ [padding-left length(pc) / values]
expected: FAIL
- [max-width length(pc) / values]
+ [padding-left length(px) / values]
expected: FAIL
- [max-width length(px) / values]
+ [padding-left length(em) / values]
expected: FAIL
- [max-width length(em) / values]
+ [padding-left length(ex) / values]
expected: FAIL
- [max-width length(ex) / values]
+ [padding-left length(mm) / values]
expected: FAIL
- [max-width length(mm) / values]
+ [padding-left length(cm) / values]
expected: FAIL
- [max-width length(cm) / values]
+ [padding-left length(in) / values]
expected: FAIL
- [max-width length(in) / values]
+ [padding-right length(pt) / values]
expected: FAIL
- [max-width percentage(%) / values]
+ [padding-right length(pc) / values]
expected: FAIL
- [top length(pt) / values]
+ [padding-right length(px) / values]
expected: FAIL
- [top length(pc) / values]
+ [padding-right length(em) / values]
expected: FAIL
- [top length(px) / values]
+ [padding-right length(ex) / values]
expected: FAIL
- [top length(em) / values]
+ [padding-right length(mm) / values]
expected: FAIL
- [top length(ex) / values]
+ [padding-right length(cm) / values]
expected: FAIL
- [top length(mm) / values]
+ [padding-right length(in) / values]
expected: FAIL
- [top length(cm) / values]
+ [padding-top length(pt) / values]
expected: FAIL
- [top length(in) / values]
+ [padding-top length(pc) / values]
expected: FAIL
- [top percentage(%) / values]
+ [padding-top length(px) / values]
expected: FAIL
- [right length(pt) / values]
+ [padding-top length(em) / values]
expected: FAIL
- [right length(pc) / values]
+ [padding-top length(ex) / values]
expected: FAIL
- [right length(px) / values]
+ [padding-top length(mm) / values]
expected: FAIL
- [right length(em) / values]
+ [padding-top length(cm) / values]
expected: FAIL
- [right length(ex) / values]
+ [padding-top length(in) / values]
expected: FAIL
- [right length(mm) / values]
+ [margin-bottom length(pt) / values]
expected: FAIL
- [right length(cm) / values]
+ [margin-bottom length(pc) / values]
expected: FAIL
- [right length(in) / values]
+ [margin-bottom length(px) / values]
expected: FAIL
- [right percentage(%) / values]
+ [margin-bottom length(em) / values]
expected: FAIL
- [bottom length(pt) / values]
+ [margin-bottom length(ex) / values]
expected: FAIL
- [bottom length(pc) / values]
+ [margin-bottom length(mm) / values]
expected: FAIL
- [bottom length(px) / values]
+ [margin-bottom length(cm) / values]
expected: FAIL
- [bottom length(em) / values]
+ [margin-bottom length(in) / values]
expected: FAIL
- [bottom length(ex) / values]
+ [margin-left length(pt) / values]
expected: FAIL
- [bottom length(mm) / values]
+ [margin-left length(pc) / values]
expected: FAIL
- [bottom length(cm) / values]
+ [margin-left length(px) / values]
expected: FAIL
- [bottom length(in) / values]
+ [margin-left length(em) / values]
expected: FAIL
- [bottom percentage(%) / values]
+ [margin-left length(ex) / values]
expected: FAIL
- [left length(pt) / values]
+ [margin-left length(mm) / values]
expected: FAIL
- [left length(pc) / values]
+ [margin-left length(cm) / values]
expected: FAIL
- [left length(px) / values]
+ [margin-left length(in) / values]
expected: FAIL
- [left length(em) / values]
+ [margin-right length(pt) / values]
expected: FAIL
- [left length(ex) / values]
+ [margin-right length(pc) / values]
expected: FAIL
- [left length(mm) / values]
+ [margin-right length(px) / values]
expected: FAIL
- [left length(cm) / values]
+ [margin-right length(em) / values]
expected: FAIL
- [left length(in) / values]
+ [margin-right length(ex) / values]
expected: FAIL
- [left percentage(%) / values]
+ [margin-right length(mm) / values]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini
index 3b9c47983b6..6fbb05ea694 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-implicit-001.html.ini
@@ -4,84 +4,3 @@
[background-position length-em(em) / values]
expected: FAIL
-
- [border-top-width length-em(em) / values]
- expected: FAIL
-
- [border-right-width length-em(em) / values]
- expected: FAIL
-
- [border-bottom-width length-em(em) / values]
- expected: FAIL
-
- [border-left-width length-em(em) / values]
- expected: FAIL
-
- [padding-bottom length-em(em) / values]
- expected: FAIL
-
- [padding-left length-em(em) / values]
- expected: FAIL
-
- [padding-right length-em(em) / values]
- expected: FAIL
-
- [padding-top length-em(em) / values]
- expected: FAIL
-
- [margin-bottom length-em(em) / values]
- expected: FAIL
-
- [margin-left length-em(em) / values]
- expected: FAIL
-
- [margin-right length-em(em) / values]
- expected: FAIL
-
- [margin-top length-em(em) / values]
- expected: FAIL
-
- [height length-em(em) / values]
- expected: FAIL
-
- [width length-em(em) / values]
- expected: FAIL
-
- [min-height length-em(em) / values]
- expected: FAIL
-
- [min-width length-em(em) / values]
- expected: FAIL
-
- [max-height length-em(em) / values]
- expected: FAIL
-
- [max-width length-em(em) / values]
- expected: FAIL
-
- [right length-em(em) / values]
- expected: FAIL
-
- [left length-em(em) / values]
- expected: FAIL
-
- [line-height length-em(em) / values]
- expected: FAIL
-
- [letter-spacing length-em(em) / values]
- expected: FAIL
-
- [word-spacing length-em(em) / values]
- expected: FAIL
-
- [text-indent length-em(em) / values]
- expected: FAIL
-
- [outline-offset length-em(em) / values]
- expected: FAIL
-
- [outline-width length-em(em) / values]
- expected: FAIL
-
- [vertical-align length-em(em) / values]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini
index 12723bdcd5f..8cb6770c72e 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-001.html.ini
@@ -655,3 +655,126 @@
[left percentage(%) / events]
expected: FAIL
+
+ [background-color color(rgba) / events]
+ expected: FAIL
+
+ [border-top-width length(pt) / events]
+ expected: FAIL
+
+ [border-top-width length(pc) / events]
+ expected: FAIL
+
+ [border-top-width length(px) / events]
+ expected: FAIL
+
+ [border-top-width length(em) / events]
+ expected: FAIL
+
+ [border-top-width length(ex) / events]
+ expected: FAIL
+
+ [border-top-width length(mm) / events]
+ expected: FAIL
+
+ [border-top-width length(cm) / events]
+ expected: FAIL
+
+ [border-top-width length(in) / events]
+ expected: FAIL
+
+ [border-right-width length(pt) / events]
+ expected: FAIL
+
+ [border-right-width length(pc) / events]
+ expected: FAIL
+
+ [border-right-width length(px) / events]
+ expected: FAIL
+
+ [border-right-width length(em) / events]
+ expected: FAIL
+
+ [border-right-width length(ex) / events]
+ expected: FAIL
+
+ [border-right-width length(mm) / events]
+ expected: FAIL
+
+ [border-right-width length(cm) / events]
+ expected: FAIL
+
+ [border-right-width length(in) / events]
+ expected: FAIL
+
+ [border-bottom-width length(pt) / events]
+ expected: FAIL
+
+ [border-bottom-width length(pc) / events]
+ expected: FAIL
+
+ [border-bottom-width length(px) / events]
+ expected: FAIL
+
+ [border-bottom-width length(em) / events]
+ expected: FAIL
+
+ [border-bottom-width length(ex) / events]
+ expected: FAIL
+
+ [border-bottom-width length(mm) / events]
+ expected: FAIL
+
+ [border-bottom-width length(cm) / events]
+ expected: FAIL
+
+ [border-bottom-width length(in) / events]
+ expected: FAIL
+
+ [border-left-width length(pt) / events]
+ expected: FAIL
+
+ [border-left-width length(pc) / events]
+ expected: FAIL
+
+ [border-left-width length(px) / events]
+ expected: FAIL
+
+ [border-left-width length(em) / events]
+ expected: FAIL
+
+ [border-left-width length(ex) / events]
+ expected: FAIL
+
+ [border-left-width length(mm) / events]
+ expected: FAIL
+
+ [border-left-width length(cm) / events]
+ expected: FAIL
+
+ [border-left-width length(in) / events]
+ expected: FAIL
+
+ [border-top-color color(rgba) / events]
+ expected: FAIL
+
+ [border-right-color color(rgba) / events]
+ expected: FAIL
+
+ [border-bottom-color color(rgba) / events]
+ expected: FAIL
+
+ [border-left-color color(rgba) / events]
+ expected: FAIL
+
+ [padding-bottom length(pt) / events]
+ expected: FAIL
+
+ [padding-bottom length(pc) / events]
+ expected: FAIL
+
+ [padding-bottom length(px) / events]
+ expected: FAIL
+
+ [padding-bottom length(em) / events]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini
index 0c1fc869856..242ba44bbca 100644
--- a/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/css-transitions/properties-value-inherit-002.html.ini
@@ -52,153 +52,3 @@
[background-position length(px) / events]
expected: FAIL
-
- [padding-bottom length(ex) / values]
- expected: FAIL
-
- [padding-bottom length(mm) / values]
- expected: FAIL
-
- [padding-bottom length(cm) / values]
- expected: FAIL
-
- [padding-bottom length(in) / values]
- expected: FAIL
-
- [padding-left length(pt) / values]
- expected: FAIL
-
- [padding-left length(pc) / values]
- expected: FAIL
-
- [padding-left length(px) / values]
- expected: FAIL
-
- [padding-left length(em) / values]
- expected: FAIL
-
- [padding-left length(ex) / values]
- expected: FAIL
-
- [padding-left length(mm) / values]
- expected: FAIL
-
- [padding-left length(cm) / values]
- expected: FAIL
-
- [padding-left length(in) / values]
- expected: FAIL
-
- [padding-right length(pt) / values]
- expected: FAIL
-
- [padding-right length(pc) / values]
- expected: FAIL
-
- [padding-right length(px) / values]
- expected: FAIL
-
- [padding-right length(em) / values]
- expected: FAIL
-
- [padding-right length(ex) / values]
- expected: FAIL
-
- [padding-right length(mm) / values]
- expected: FAIL
-
- [padding-right length(cm) / values]
- expected: FAIL
-
- [padding-right length(in) / values]
- expected: FAIL
-
- [padding-top length(pt) / values]
- expected: FAIL
-
- [padding-top length(pc) / values]
- expected: FAIL
-
- [padding-top length(px) / values]
- expected: FAIL
-
- [padding-top length(em) / values]
- expected: FAIL
-
- [padding-top length(ex) / values]
- expected: FAIL
-
- [padding-top length(mm) / values]
- expected: FAIL
-
- [padding-top length(cm) / values]
- expected: FAIL
-
- [padding-top length(in) / values]
- expected: FAIL
-
- [margin-bottom length(pt) / values]
- expected: FAIL
-
- [margin-bottom length(pc) / values]
- expected: FAIL
-
- [margin-bottom length(px) / values]
- expected: FAIL
-
- [margin-bottom length(em) / values]
- expected: FAIL
-
- [margin-bottom length(ex) / values]
- expected: FAIL
-
- [margin-bottom length(mm) / values]
- expected: FAIL
-
- [margin-bottom length(cm) / values]
- expected: FAIL
-
- [margin-bottom length(in) / values]
- expected: FAIL
-
- [margin-left length(pt) / values]
- expected: FAIL
-
- [margin-left length(pc) / values]
- expected: FAIL
-
- [margin-left length(px) / values]
- expected: FAIL
-
- [margin-left length(em) / values]
- expected: FAIL
-
- [margin-left length(ex) / values]
- expected: FAIL
-
- [margin-left length(mm) / values]
- expected: FAIL
-
- [margin-left length(cm) / values]
- expected: FAIL
-
- [margin-left length(in) / values]
- expected: FAIL
-
- [margin-right length(pt) / values]
- expected: FAIL
-
- [margin-right length(pc) / values]
- expected: FAIL
-
- [margin-right length(px) / values]
- expected: FAIL
-
- [margin-right length(em) / values]
- expected: FAIL
-
- [margin-right length(ex) / values]
- expected: FAIL
-
- [margin-right length(mm) / values]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini
new file mode 100644
index 00000000000..cf67b5d03dd
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini
@@ -0,0 +1,3 @@
+[elementFromPoint-dynamic-anon-box.html]
+ [Link should be clickable after hiding a scrollbox with an anonymous table inside]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini
new file mode 100644
index 00000000000..b905fe70fcb
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini
@@ -0,0 +1,3 @@
+[elementFromPoint-ellipsis-in-inline-box.html]
+ [elementFromPoint-ellipsis-in-inline-box]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini
new file mode 100644
index 00000000000..7e9331b6bc2
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-float-in-relative.html.ini
@@ -0,0 +1,3 @@
+[elementFromPoint-float-in-relative.html]
+ [elementFromPoint-float-in-relative]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini
index f4b52c9a8c0..1f892861935 100644
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini
+++ b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-list-001.html.ini
@@ -13,6 +13,3 @@
[<li>Outside 1</li>]
expected: FAIL
-
- [<li>Inside 1</li>]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini b/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini
deleted file mode 100644
index 8f6f663ba61..00000000000
--- a/tests/wpt/metadata-layout-2020/css/cssom-view/elementFromPoint-subpixel.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[elementFromPoint-subpixel.html]
- [Hit test top left corner of box]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini b/tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini
deleted file mode 100644
index c57e48f2078..00000000000
--- a/tests/wpt/metadata-layout-2020/fetch/api/redirect/redirect-keepalive.any.js.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[redirect-keepalive.any.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini
index 571eddcad27..ed2ce3392d0 100644
--- a/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini
+++ b/tests/wpt/metadata-layout-2020/fetch/metadata/generated/css-images.sub.tentative.html.ini
@@ -147,8 +147,8 @@
[list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
expected: FAIL
- [background-image sec-fetch-user - Not sent to non-trustworthy same-origin destination]
- expected: TIMEOUT
+ [border-image sec-fetch-mode - Not sent to non-trustworthy cross-site destination]
+ expected: FAIL
- [border-image sec-fetch-user - Not sent to non-trustworthy same-origin destination]
+ [border-image sec-fetch-site - HTTPS downgrade (header not sent)]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/fetch/range/blob.any.js.ini b/tests/wpt/metadata-layout-2020/fetch/range/blob.any.js.ini
new file mode 100644
index 00000000000..0c308b4b411
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/fetch/range/blob.any.js.ini
@@ -0,0 +1,122 @@
+[blob.any.html]
+ [A simple blob range request.]
+ expected: FAIL
+
+ [A blob range request with no end.]
+ expected: FAIL
+
+ [A blob range request with no start.]
+ expected: FAIL
+
+ [A simple blob range request with whitespace.]
+ expected: FAIL
+
+ [Blob content with short content and a large range end]
+ expected: FAIL
+
+ [Blob range with whitespace before and after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace around equals sign]
+ expected: FAIL
+
+ [Blob range request with multiple range values]
+ expected: FAIL
+
+ [Blob range request with multiple range values and whitespace]
+ expected: FAIL
+
+ [Blob range request with trailing comma]
+ expected: FAIL
+
+ [Blob range with no start or end]
+ expected: FAIL
+
+ [Blob range request with short range end]
+ expected: FAIL
+
+ [Blob range start should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should have a dash]
+ expected: FAIL
+
+ [Blob range end should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should include '-']
+ expected: FAIL
+
+ [Blob range should include '=']
+ expected: FAIL
+
+ [Blob range should include 'bytes=']
+ expected: FAIL
+
+ [Blob content with short content and a large range start]
+ expected: FAIL
+
+
+[blob.any.worker.html]
+ [A simple blob range request.]
+ expected: FAIL
+
+ [A blob range request with no end.]
+ expected: FAIL
+
+ [A blob range request with no start.]
+ expected: FAIL
+
+ [A simple blob range request with whitespace.]
+ expected: FAIL
+
+ [Blob content with short content and a large range end]
+ expected: FAIL
+
+ [Blob range with whitespace before and after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace around equals sign]
+ expected: FAIL
+
+ [Blob range request with multiple range values]
+ expected: FAIL
+
+ [Blob range request with multiple range values and whitespace]
+ expected: FAIL
+
+ [Blob range request with trailing comma]
+ expected: FAIL
+
+ [Blob range with no start or end]
+ expected: FAIL
+
+ [Blob range request with short range end]
+ expected: FAIL
+
+ [Blob range start should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should have a dash]
+ expected: FAIL
+
+ [Blob range end should be an ASCII digit]
+ expected: FAIL
+
+ [Blob range should include '-']
+ expected: FAIL
+
+ [Blob range should include '=']
+ expected: FAIL
+
+ [Blob range should include 'bytes=']
+ expected: FAIL
+
+ [Blob content with short content and a large range start]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini
index f7ee5361549..33efcdbcf48 100644
--- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini
@@ -1,4 +1,3 @@
[005.html]
- expected: TIMEOUT
[Link with onclick navigation and href navigation ]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
index dd7320bb46e..dc1144214ef 100644
--- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
@@ -1,10 +1,9 @@
[iframe-src-aboutblank-navigate-immediately.html]
- expected: TIMEOUT
[Navigating to a different document with window.open]
expected: FAIL
[Navigating to a different document with form submission]
- expected: NOTRUN
+ expected: FAIL
[Navigating to a different document with link click]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini
index 51fd557bd7f..149bcb4ff8c 100644
--- a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini
@@ -7,3 +7,6 @@
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo']
expected: FAIL
+
+ [load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank']
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini
new file mode 100644
index 00000000000..d993e8dcc42
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini
@@ -0,0 +1,3 @@
+[pageload-image-in-popup.html]
+ [The document for a standalone media file should have one child in the body.]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini
deleted file mode 100644
index f5b7b25324f..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse-during-unload.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse-during-unload.html]
- expected: TIMEOUT
- [Traversing the history during unload]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
new file mode 100644
index 00000000000..a03a8322165
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_3.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
new file mode 100644
index 00000000000..d6188c03424
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_4.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini b/tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini
deleted file mode 100644
index 4b4820d1729..00000000000
--- a/tests/wpt/metadata-layout-2020/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[creating_browsing_context_test_01.html]
- [first argument: absolute url]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini
index d30d032e7b5..865b8601bae 100644
--- a/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini
@@ -1,4 +1,3 @@
[update-the-rendering.html]
- expected: TIMEOUT
["Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index bbc1f35d8d9..e8872b3585b 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,3 +1,4 @@
[iframe_sandbox_popups_nonescaping-1.html]
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
index c6f1e5d7d84..4034793cc72 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
@@ -1,4 +1,3 @@
[iframe_sandbox_popups_nonescaping-2.html]
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini
index d3de1f53b54..f7333c9b8a4 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini
@@ -175,3 +175,6 @@
[multipart/form-data: Basic test (formdata event)]
expected: FAIL
+
+ [multipart/form-data: 0x00 in value (formdata event)]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini
index 2ccd7d0d501..0077d066ab5 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/text-plain.window.js.ini
@@ -172,3 +172,9 @@
[text/plain: backslash in name (formdata event)]
expected: FAIL
+
+ [text/plain: Basic File test (formdata event)]
+ expected: FAIL
+
+ [text/plain: 0x00 in value (formdata event)]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini
index 7120bc42d80..ff27a59f2d9 100644
--- a/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini
+++ b/tests/wpt/metadata-layout-2020/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini
@@ -175,3 +175,6 @@
[application/x-www-form-urlencoded: double quote in value (normal form)]
expected: FAIL
+
+ [application/x-www-form-urlencoded: Basic test (formdata event)]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini
new file mode 100644
index 00000000000..2212b9d731f
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini
@@ -0,0 +1,4 @@
+[async-script.html?reload]
+ expected: ERROR
+
+[async-script.html]
diff --git a/tests/wpt/metadata-layout-2020/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata-layout-2020/html/syntax/parsing/DOMContentLoaded-defer.html.ini
deleted file mode 100644
index b8bdf33cb65..00000000000
--- a/tests/wpt/metadata-layout-2020/html/syntax/parsing/DOMContentLoaded-defer.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DOMContentLoaded-defer.html]
- [The end: DOMContentLoaded and defer scripts]
- expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index 8244944df44..1053fb90051 100644
--- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -4,4 +4,4 @@
expected: TIMEOUT
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
index 4a48dd15a9d..1d71471b73c 100644
--- a/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
+++ b/tests/wpt/metadata-layout-2020/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
@@ -1,6 +1,7 @@
[promise-rejection-events.html]
+ expected: TIMEOUT
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
- expected: FAIL
+ expected: TIMEOUT
[unhandledrejection: from createImageBitmap which is UA triggered]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini b/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini
index 3c8127e59f6..b84e3cf7b11 100644
--- a/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini
+++ b/tests/wpt/metadata-layout-2020/resource-timing/response-status-code.html.ini
@@ -238,34 +238,34 @@
expected: FAIL
[This test validates the response status of resources. 79]
- expected: TIMEOUT
+ expected: FAIL
[This test validates the response status of resources. 80]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 81]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 82]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 83]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 84]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 85]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 86]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 87]
- expected: NOTRUN
+ expected: FAIL
[This test validates the response status of resources. 88]
- expected: NOTRUN
+ expected: TIMEOUT
[This test validates the response status of resources. 89]
expected: NOTRUN
@@ -899,3 +899,153 @@
[This test validates the response status of resources. 299]
expected: NOTRUN
+
+ [This test validates the response status of resources. 300]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 301]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 302]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 303]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 304]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 305]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 306]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 307]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 308]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 309]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 310]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 311]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 312]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 313]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 314]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 315]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 316]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 317]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 318]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 319]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 320]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 321]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 322]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 323]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 324]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 325]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 326]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 327]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 328]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 329]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 330]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 331]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 332]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 333]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 334]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 335]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 336]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 337]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 338]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 339]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 340]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 341]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 342]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 343]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 344]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 345]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 346]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 347]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 348]
+ expected: NOTRUN
+
+ [This test validates the response status of resources. 349]
+ expected: NOTRUN
diff --git a/tests/wpt/metadata-layout-2020/url/url-statics-canparse.any.js.ini b/tests/wpt/metadata-layout-2020/url/url-statics-canparse.any.js.ini
new file mode 100644
index 00000000000..08c038b74e8
--- /dev/null
+++ b/tests/wpt/metadata-layout-2020/url/url-statics-canparse.any.js.ini
@@ -0,0 +1,44 @@
+[url-statics-canparse.any.html]
+ [URL.canParse(undefined, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a:b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:b)]
+ expected: FAIL
+
+ [URL.canParse(a:/b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:/b)]
+ expected: FAIL
+
+ [URL.canParse(https://test:test, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a, https://b/)]
+ expected: FAIL
+
+
+[url-statics-canparse.any.worker.html]
+ [URL.canParse(undefined, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a:b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:b)]
+ expected: FAIL
+
+ [URL.canParse(a:/b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:/b)]
+ expected: FAIL
+
+ [URL.canParse(https://test:test, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a, https://b/)]
+ expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 1f70062991c..20a8f9a4320 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini
index 37dd5b66269..e86d0df261e 100644
--- a/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini
+++ b/tests/wpt/metadata-layout-2020/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini
@@ -1,5 +1,5 @@
[audiocontextoptions.html]
- expected: TIMEOUT
+ expected: CRASH
[X context = new AudioContext({sampleRate: 1}) did not throw an exception.]
expected: FAIL
diff --git a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini
index b7b36c1d3a4..b7b36c1d3a4 100644
--- a/tests/wpt/metadata-layout-2020/webmessaging/with-ports/018.html.ini
+++ b/tests/wpt/metadata-layout-2020/webmessaging/without-ports/018.html.ini
diff --git a/tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini b/tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini
deleted file mode 100644
index aa6c9e5b826..00000000000
--- a/tests/wpt/metadata-layout-2020/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
- expected: TIMEOUT
- [StorageKey: test 3P about:blank window opened from a 3P iframe]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index d3fd2abc95f..8dba53dd1ca 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -6190,6 +6190,13 @@
{}
]
],
+ "selection-modify-around-input.html": [
+ "24b9ae7d35bea3510bb21ca03787436db64cbc47",
+ [
+ null,
+ {}
+ ]
+ ],
"table.html": [
"36eb803a5cbbe6b397ebb76659d1da7a8ae5d881",
[
@@ -148768,7 +148775,7 @@
]
],
"oklch-010.html": [
- "425f4d820183c24168049dc41c66a37f3b2366d3",
+ "091b760bea29bed450a21c9620eec2b0823bdc84",
[
null,
[
@@ -198666,7 +198673,7 @@
]
],
"clip-path-borderBox-1a.html": [
- "6fedad96fe538a196a000ff9a443e002fded9929",
+ "b7473fd66c0baeb43a1f1765ca1a435cb9eed450",
[
null,
[
@@ -198675,7 +198682,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 96
+ ],
+ [
+ 0,
+ 356
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-borderBox-1b.html": [
@@ -198708,7 +198731,7 @@
]
],
"clip-path-borderBox-1c.html": [
- "c581a9c54682adca60cc65fcd12ec8699036aef6",
+ "f050159385db68a1b940d8125836bdbdc09c45b2",
[
null,
[
@@ -198717,7 +198740,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 52
+ ],
+ [
+ 0,
+ 355
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-circle-001.html": [
@@ -199037,7 +199076,7 @@
]
],
"clip-path-contentBox-1c.html": [
- "260e644fc16860726765a0cf55ef69d7d51833a7",
+ "a04aaa21e5a8629dc897e282b7e7b42004b3e5da",
[
null,
[
@@ -199046,7 +199085,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 52
+ ],
+ [
+ 0,
+ 355
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-descendant-text-mutated-001.html": [
@@ -199373,7 +199428,7 @@
]
],
"clip-path-fillBox-1a.html": [
- "a210ea99b5e39df1d8e71e070ec902dd483f4a62",
+ "d3733d4332a745db1d26e6e32bf6f70f4738463c",
[
null,
[
@@ -199382,7 +199437,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 52
+ ],
+ [
+ 0,
+ 355
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-filter-order.html": [
@@ -199645,7 +199716,7 @@
]
],
"clip-path-paddingBox-1c.html": [
- "f0c31e39aab0495be1a2d2baba03cf79790a1b2d",
+ "bf7b098dbdab3a687e36149d0ebd3806221c4b50",
[
null,
[
@@ -199654,7 +199725,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 52
+ ],
+ [
+ 0,
+ 355
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-path-001.html": [
@@ -199892,7 +199979,7 @@
]
],
"clip-path-polygon-013.html": [
- "8d2c049a7e758e496eb2f823b808fd971468b795",
+ "23c93f347d175fe91eb2c50d5418f7c3df2a89cd",
[
null,
[
@@ -200113,7 +200200,7 @@
]
],
"clip-path-strokeBox-1a.html": [
- "a479a4711207a8d3bad33bb10e2eb8dce1e2dee4",
+ "31fec7516ca95ed541643936dbd831e52b9be83c",
[
null,
[
@@ -200122,11 +200209,27 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 52
+ ],
+ [
+ 0,
+ 355
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-strokeBox-1b.html": [
- "ba81b5df736317ec75bd17f67650ca2904f42807",
+ "3ac1a834fb0347b7d6be4b9577989d4bb26f2394",
[
null,
[
@@ -200135,7 +200238,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 64
+ ],
+ [
+ 0,
+ 194
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-svg-invalidate.html": [
@@ -200304,7 +200423,7 @@
]
],
"clip-path-viewBox-1b.html": [
- "08c91b84bf8e5eb1e8b467d682eb483ee33bb14d",
+ "81bfcb87982160c54973529d00f46a1c67e12eb2",
[
null,
[
@@ -200313,11 +200432,27 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 7
+ ],
+ [
+ 0,
+ 150
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"clip-path-viewBox-1c.html": [
- "0890ee1487f19447902812495247c1fc5739c24f",
+ "26f2750e3244e1fc943317196f846b455ef1577f",
[
null,
[
@@ -200326,7 +200461,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 52
+ ],
+ [
+ 0,
+ 355
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"reference-local-url-with-base-001.html": [
@@ -200427,7 +200578,7 @@
]
],
"svg-clip-path-fixed-values.html": [
- "801cfe08d94c5a65450201297fe37c57896fc645",
+ "eb2c44fbb23bd18456b97416cb4c55ba701b6105",
[
null,
[
@@ -200436,7 +200587,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 62
+ ],
+ [
+ 0,
+ 608
+ ]
+ ]
+ ]
+ ]
+ }
]
]
},
@@ -202057,7 +202224,7 @@
]
],
"mask-image-3h.html": [
- "37608bfe20d712a04c8b9f80a03fa93fdb657fa2",
+ "c7197f45811ed178398897a819d78e1e9a1e3e83",
[
null,
[
@@ -202066,7 +202233,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 6
+ ],
+ [
+ 0,
+ 49
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"mask-image-3i.html": [
@@ -202268,7 +202451,7 @@
]
],
"mask-mode-a.html": [
- "38977a0aad2a1c59e7a85623f29257ead5c5b7e5",
+ "d69ca24ee4d9bff815b0f2d36d54fa4d6ca972f8",
[
null,
[
@@ -202277,11 +202460,27 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 1
+ ],
+ [
+ 0,
+ 10000
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"mask-mode-b.html": [
- "e5c11e9bf05b2be3d0727f4a049498a679853808",
+ "961411d7185544d5f8fb9490f434cc935ff09e49",
[
null,
[
@@ -202290,7 +202489,23 @@
"=="
]
],
- {}
+ {
+ "fuzzy": [
+ [
+ null,
+ [
+ [
+ 0,
+ 1
+ ],
+ [
+ 0,
+ 10000
+ ]
+ ]
+ ]
+ ]
+ }
]
],
"mask-mode-c.html": [
@@ -202984,7 +203199,7 @@
]
],
"mask-text-001.svg": [
- "1dd5c546af3f90ad4ea97e9df7c8f19f70473f86",
+ "28515105a4f3034fb81bc60a68c45a6be290d61d",
[
null,
[
@@ -278928,6 +279143,19 @@
{}
]
],
+ "view-transition-name-removed-mid-transition.html": [
+ "b18df685118f40ee118c4988a1c22c34328a8abc",
+ [
+ null,
+ [
+ [
+ "/css/css-view-transitions/view-transition-name-removed-mid-transition-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"web-animations-api.html": [
"e0860b8f519b595af6b532d89d5818a59eab812e",
[
@@ -319868,6 +320096,19 @@
{}
]
],
+ "non-standard-pseudo-elements.html": [
+ "20cf81ace29a9a958a12ea68343a0e576f291cda",
+ [
+ null,
+ [
+ [
+ "/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"single_quote.html": [
"b01206350188b0e5ca8aaff131d5f50bb8aebf4a",
[
@@ -322448,7 +322689,7 @@
},
"support": {
".azure-pipelines.yml": [
- "3f824f68e0cdda4ea8b5eb3ad7117a5cbe0f6cca",
+ "aacd78815adfd477ba3859cd2d28a3f4a3b5783d",
[]
],
".gitattributes": [
@@ -385014,7 +385255,7 @@
[]
],
"clip-path-stripes-003-ref.html": [
- "e31282c02fdbfd08bbe80acb245bb7b85c28bee9",
+ "f4b7fa10f2d2b98e8bf027dbf898100385867777",
[]
],
"clip-path-svg-text-css-ref.html": [
@@ -385448,7 +385689,7 @@
[]
],
"mask-text-001-ref.svg": [
- "3fabeb01d762fc1eda9eb198b3051d7ad6128361",
+ "edaed2c200a32aefd9eba3736e4f73a5d3f63c1c",
[]
]
}
@@ -399141,6 +399382,10 @@
"cc0250bc59ea54d486ec6f93c744011b86bb5993",
[]
],
+ "view-transition-name-removed-mid-transition-ref.html": [
+ "9ec14f60cdd04235e8689e34ebf522f72a344684",
+ []
+ ],
"web-animations-api-ref.html": [
"ab66e7d16df6acf73a4a4b88bd74a727876c966c",
[]
@@ -404479,7 +404724,7 @@
[]
],
"requirements.txt": [
- "1cdeadd2dcc60e3262ab609b6fb89394f86d6d46",
+ "0ad8484f60b3f16d7318f6ad8983501d81f67eea",
[]
],
"reviewing-tests": {
@@ -404534,7 +404779,7 @@
[]
],
"from-local-system.md": [
- "f47396acc3c683ba6e074906e3cd835a780cc777",
+ "3865038ef6877238bc372fba5c635ff438f9293b",
[]
],
"from-web.md": [
@@ -434806,7 +435051,7 @@
}
},
"tox.ini": [
- "cc07e3b028ce0609447eeede5d91d55299256918",
+ "4fbeb67fb529177dd9ec1cde6ca7aa3062b9179c",
[]
],
"wptserver.py": [
@@ -440262,7 +440507,7 @@
[]
],
"requirements_build.txt": [
- "da3f93cd3dbe17c9113b815b0e602bd13de9fc2b",
+ "03fe7d73efa81721a18fbda828ec09ab7cf5f8aa",
[]
],
"requirements_tc.txt": [
@@ -440308,7 +440553,7 @@
],
"tasks": {
"test.yml": [
- "fe24199cae10b958bb98012bbcc4b4619ff86a73",
+ "29f397e8240ba1cdb5aac0ef977bb70e795f1f11",
[]
]
},
@@ -440344,7 +440589,7 @@
[]
],
"test_valid.py": [
- "31c07943cade85bf61fecdd8854637ecda3e33fb",
+ "36833ec51ebdf7bcf388d5f5b877daa46e11eae3",
[]
]
}
@@ -440378,7 +440623,7 @@
[]
],
"Dockerfile": [
- "b7eae6440d95d4643efd386643bc404e80579fd2",
+ "73db14699945f20dcf1aeee18ae323905c536e32",
[]
],
"README.md": [
@@ -440777,11 +441022,11 @@
[]
],
"requirements_mypy.txt": [
- "7ee915ddb125b6e213425c965dd6482caa00f386",
+ "af7bf35b21a3418dd8250cd283ee448089ab9644",
[]
],
"requirements_pytest.txt": [
- "14fd0f769279ec42071f2c353168eb73e0f1fe4c",
+ "e7678941a7f22320a60a0e4568974e82ae56626c",
[]
],
"requirements_tests.txt": [
@@ -448029,7 +448274,7 @@
}
},
"tox.ini": [
- "b4c250bee45ceaf5522557f1a9c1fb623462e44b",
+ "6a3001e25a048192804d5d859cd73413433000fe",
[]
],
"wave": {
@@ -448514,7 +448759,7 @@
]
},
"tox.ini": [
- "5a447b21bfb21b2c11237518c609106a42c57933",
+ "e1ee1b529412ff74b8a289bcacc18b3bdee50468",
[]
],
"utils": {
@@ -448854,7 +449099,7 @@
]
},
"requirements.txt": [
- "4e347c647cc6622dd05978e2fce5b6bc030037ac",
+ "8743e0317d39a93908e2e9469a9dd253c65d9fc6",
[]
]
},
@@ -449004,7 +449249,7 @@
]
},
"tox.ini": [
- "eda300c3c8c7fbb880c77176cbe90c7a51d5b5f0",
+ "1062b4a528c3d08ce26da9a5e109e07a304720f1",
[]
],
"update.py": [
@@ -449060,11 +449305,11 @@
]
},
"requirements.txt": [
- "58641393b838f92393ccbdc7b7f5e7e3ee79af14",
+ "202e80741333a46d53a26c9b4d73f550401be2c4",
[]
],
"requirements_chromium.txt": [
- "4e347c647cc6622dd05978e2fce5b6bc030037ac",
+ "8743e0317d39a93908e2e9469a9dd253c65d9fc6",
[]
],
"requirements_edge.txt": [
@@ -449096,7 +449341,7 @@
[]
],
"tox.ini": [
- "3a1afda21648864d2be23e152fc4de521b8175c3",
+ "82df778f50b16462e9c8aed1df229bbe57cb8331",
[]
],
"wptrunner": {
@@ -449234,7 +449479,7 @@
[]
],
"base.py": [
- "4bc193d038b3bc2777c18268ac00d42540b0731f",
+ "f62ded610ca4ed716e0a1378cc27b6acccb0e19b",
[]
],
"executorchrome.py": [
@@ -452664,10 +452909,6 @@
]
}
},
- "conftest.py": [
- "e4ff5a5ce4b358beaee8c51ad96d548e8d09f704",
- []
- ],
"errors": {
"__init__.py": [
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
@@ -453257,7 +453498,7 @@
[]
],
"fixtures.py": [
- "4a08d921a3bb2d2b2aa2b88da5c1740d1d559fdb",
+ "d0a08698d6c0753fa081793c201b914a612b8215",
[]
],
"fixtures_bidi.py": [
@@ -453675,23 +453916,23 @@
[]
],
"reduce_max.json": [
- "a1eb6d2b831274a7d799cfd3616c8d69cc1b5704",
+ "4dd7098d03f4fd89a25124b0d3ffdb2d43405704",
[]
],
"reduce_mean.json": [
- "af353b5ad110c875868d439d0fbb3b41dd098c26",
+ "adc29023f89ef3d6225911af447d377477a039de",
[]
],
"reduce_min.json": [
- "8db681d7ea4556f44a11ff7447f3ed7b38402283",
+ "db6c0e22695a964291abd95912a35819cfaee113",
[]
],
"reduce_product.json": [
- "24c60f89359bdd90afe56dbeeb7e7aa6612aa0fd",
+ "60484300bca4c76e3ddebc7fbcfc49cefafe9be0",
[]
],
"reduce_sum.json": [
- "d382fb094472b1411f228a2dbf671b64a5a88f18",
+ "3e887294631bece3e4e024c73ce469162a880591",
[]
],
"relu.json": [
@@ -453711,7 +453952,7 @@
[]
],
"slice.json": [
- "926351cee7bfb5b3e3c87dcb2a1c3d2dda2b9144",
+ "9b250268dc0824acb6e0523a5f406928e36dce1d",
[]
],
"softmax.json": [
@@ -453719,7 +453960,7 @@
[]
],
"split.json": [
- "33a0704576dccc8423be6bbe9f9cb6e5fe5542d3",
+ "e4216003c02f7fa8174d2d2734217477ca975407",
[]
],
"squeeze.json": [
@@ -455132,6 +455373,10 @@
"2b7a1ed2bf600569bc554fc3a744847a334d6ceb",
[]
],
+ "non-standard-pseudo-elements-ref.html": [
+ "5664a4de7b4c2506ac531245491131df9e3339e5",
+ []
+ ],
"single_quote-ref.html": [
"81c546e026b4668c1b65e8012f28f0dae4acbb3e",
[]
@@ -457798,7 +458043,7 @@
}
},
"wpt": [
- "b0e415d8443f553f11dbefe133d9cecab6a48537",
+ "e0abacd85daa2974b16264a5dd1ecd33cb142c68",
[]
],
"wpt.py": [
@@ -494008,6 +494253,15 @@
{}
]
],
+ "background-repeat": {
+ "background-repeat-no-interpolation.html": [
+ "a1a48d58e8c86f1c0c93d33ca588558f4cb561e8",
+ [
+ null,
+ {}
+ ]
+ ]
+ },
"background-size-001.html": [
"fee271de14a4664a0aff4f99b4511107b36beb77",
[
@@ -495517,7 +495771,7 @@
]
],
"scope-evaluation.html": [
- "bd782917e3d55220d4bf92f3a5c7f86b4c655647",
+ "7c92ae1a736aa2eed5099c0d001a0f9366c51a28",
[
null,
{}
@@ -495531,21 +495785,21 @@
]
],
"scope-implicit.html": [
- "cc2240959e32dd81bd2ac23b7e8f4d51d07e1ecb",
+ "c49abb0a389b76977c36e947ef63edaa8cf47672",
[
null,
{}
]
],
"scope-invalidation.html": [
- "6f8abfd79c26c934ddb8367542dfc2f1f0c66f8b",
+ "62212f79210ad30b954320bb7fe00d28c59157c2",
[
null,
{}
]
],
"scope-nesting.html": [
- "753eab8fbbbc154a54150ebf688c420ebf9bd1a4",
+ "f9d890535dbbe42bdcb193b2bac3f7a421d2d5bf",
[
null,
{}
@@ -495641,7 +495895,7 @@
]
],
"color-computed-color-mix-function.html": [
- "1da6aa49e32f5879208941d2bdce1160695393a0",
+ "f000ed6a4541269966e22fba6f3e48661f09ab72",
[
null,
{}
@@ -495669,7 +495923,7 @@
]
],
"color-computed-lab.html": [
- "45a1f9a010b27c0efb01b8dfc32671d4d95e388e",
+ "c25e12534393f11e483c387ef0850b26cd6dc658",
[
null,
{}
@@ -495683,7 +495937,7 @@
]
],
"color-computed-relative-color.html": [
- "0587d09bd742fcf2278e088b6b53acecf177d7ca",
+ "44e0d8de7804eb6e4dcc278fa9e1bd8231aa6631",
[
null,
{}
@@ -495795,7 +496049,7 @@
]
],
"color-valid-color-mix-function.html": [
- "cc23659caa524b39d6f67d7cc12fdcfc297eaf23",
+ "6e5a129fa0a883cebca2f45b1714dbb6314cfab4",
[
null,
{}
@@ -495816,14 +496070,14 @@
]
],
"color-valid-lab.html": [
- "3a5d661712f9cd2a72df5d367de9c61fb1f4a29f",
+ "601a0ffb641c14757752112d84fa35de56ba0a56",
[
null,
{}
]
],
"color-valid-relative-color.html": [
- "b5c8ddfca1c57ace348d789a3ed95ab4fbb78fb1",
+ "a1c9461d2ee9bff374fd91e8027eaf92c945fba4",
[
null,
{}
@@ -495851,7 +496105,7 @@
]
],
"gamut-mapping.html": [
- "cfc1d1b946a729d4e7ca3fe2fd765aee3e53c8f9",
+ "02133acced21478aa311f8e66f8cca52236deaf0",
[
null,
{}
@@ -499934,6 +500188,15 @@
{}
]
],
+ "discrete-no-interpolation.html": [
+ "1888670594082e99b507fbb622af1e8437a9d833",
+ [
+ null,
+ {
+ "timeout": "long"
+ }
+ ]
+ ],
"fallback-remote-to-data-url.html": [
"cf4feccd5aced06d9c21538913d3a21dfbe23756",
[
@@ -506645,6 +506908,13 @@
{}
]
],
+ "overflow-no-interpolation.html": [
+ "403482fa29afdc34e353d9e2678d49723e64f4ab",
+ [
+ null,
+ {}
+ ]
+ ],
"overflow-padding.html": [
"2d6efc391a48781096cd2263575523c52bd4085e",
[
@@ -561341,7 +561611,7 @@
},
"range": {
"blob.any.js": [
- "f3eb313b34b42d12f6ee7e2740edd9360c4ab6f1",
+ "2f1bf5c2536d2246c8bea100d7c196ac0ce1b7a6",
[
"fetch/range/blob.any.html",
{
@@ -566338,7 +566608,7 @@
]
],
"worker-cookies.tentative.https.window.js": [
- "4c29983c2b23d62dd4888f72565c70ca4454b511",
+ "8c25306baf2763cf38ab0653711e7e38b6020678",
[
"html/anonymous-iframe/worker-cookies.tentative.https.window.html?worker=dedicated_worker",
{
@@ -607647,7 +607917,7 @@
]
],
"popover-anchor-idl-property.html": [
- "1e255339f8107161a0ff105eae9f7f1547599f22",
+ "7b497ce09e6e192619b675b01b0ee21caa18a3e5",
[
null,
{}
@@ -624654,7 +624924,7 @@
]
],
"mediasource-buffered.html": [
- "7015fc6b61ac68eb058dc9acaa73ecc5a60dd605",
+ "159eaf532f1ddd492e97915d8c6a15aaac23c905",
[
null,
{}
@@ -675026,6 +675296,17 @@
}
]
],
+ "url-statics-canparse.any.js": [
+ "c87fcb4f56fcdd6412c94d81505a5117c72647e6",
+ [
+ "url/url-statics-canparse.any.html",
+ {}
+ ],
+ [
+ "url/url-statics-canparse.any.worker.html",
+ {}
+ ]
+ ],
"url-tojson.any.js": [
"65165f96c572d9b01fe6a5e27339882c387260dd",
[
@@ -737016,7 +737297,7 @@
},
"response_completed": {
"response_completed_cached_tentative.py": [
- "84932977229731de9e41fd33271dbf336cb474f5",
+ "7621b4481006d9e46283029c1e5ec444beef86e8",
[
null,
{}
@@ -737822,7 +738103,7 @@
},
"find_element_from_shadow_root": {
"find.py": [
- "3d125a0f21573c067560e0a21a14f2ecf4470c3f",
+ "62a5bc60f543aa06aff658056c23117cb2d9cf85",
[
null,
{}
@@ -737876,7 +738157,7 @@
},
"find_elements_from_shadow_root": {
"find.py": [
- "7f2685b3b55603980dc3d4869f14409e423fc33b",
+ "db739fd440fc3e7724f740fa5bd04772cc0d9488",
[
null,
{}
@@ -738178,7 +738459,7 @@
},
"get_timeouts": {
"get.py": [
- "9601c00d903d5fcb7776e232177594ecd2562424",
+ "aa02c0990e1a110b5d5e7e0f479ade9cc909b956",
[
null,
{}
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini
deleted file mode 100644
index 0842d0b5727..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-001.html]
- [hit-test-floats-001]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
deleted file mode 100644
index 968f62a2553..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-002.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-002.html]
- [Hit test float]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
deleted file mode 100644
index 665ec4646cb..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-003.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-003.html]
- [Miss float below something else]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini b/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
deleted file mode 100644
index 147f062e548..00000000000
--- a/tests/wpt/metadata/css/CSS2/floats/hit-test-floats-005.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[hit-test-floats-005.html]
- [Miss clipped float]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini
index ee34bc91078..51432362d66 100644
--- a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini
+++ b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-002.html.ini
@@ -1,6 +1,3 @@
[block-in-inline-hittest-002.html]
[elementsFromPoint]
expected: FAIL
-
- [elementFromPoint]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini
new file mode 100644
index 00000000000..3e5096beef3
--- /dev/null
+++ b/tests/wpt/metadata/css/CSS2/normal-flow/block-in-inline-hittest-float-002.html.ini
@@ -0,0 +1,3 @@
+[block-in-inline-hittest-float-002.html]
+ [block-in-inline-hittest-float-002]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini
new file mode 100644
index 00000000000..d5956188627
--- /dev/null
+++ b/tests/wpt/metadata/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html.ini
@@ -0,0 +1,30 @@
+[background-repeat-no-interpolation.html]
+ [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [round\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0) should be [round\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <background-repeat> from [initial\] to [round\] at (0.3) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.5) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (0.6) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (1) should be [round\]]
+ expected: FAIL
+
+ [Web Animations: property <background-repeat> from [initial\] to [round\] at (1.5) should be [round\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/color-computed-color-mix-function.html.ini b/tests/wpt/metadata/css/css-color/parsing/color-computed-color-mix-function.html.ini
index 7c1963394f6..0418f34df05 100644
--- a/tests/wpt/metadata/css/css-color/parsing/color-computed-color-mix-function.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/color-computed-color-mix-function.html.ini
@@ -1420,3 +1420,249 @@
[Property color value 'color-mix(in xyz-d65, color(xyz-d65 .1 .2 .3 / none), color(xyz-d65 .5 .6 .7 / none))']
expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, 25% oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), 25% oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 30%, oklch(0.5 0.6 70deg) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 12.5%, oklch(0.5 0.6 70deg) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg) 0%, oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, 25% oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4), 25% oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 30%, oklch(0.5 0.6 70deg / .8) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 12.5%, oklch(0.5 0.6 70deg / .8) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 0%, oklch(0.5 0.6 70deg / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch shorter hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch longer hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch increasing hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 40deg), oklch(1 0 60deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 60deg), oklch(1 0 40deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 50deg), oklch(1 0 330deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 330deg), oklch(1 0 50deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 20deg), oklch(1 0 320deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch decreasing hue, oklch(1 0 320deg), oklch(1 0 20deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(none none none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(none 0.2 30deg), oklch(0.5 none 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / 0.5))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, 25% oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), 25% oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, 25% oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), 25% oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8) 25%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8) 75%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 30%, oklab(0.5 0.6 0.7 / .8) 90%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 12.5%, oklab(0.5 0.6 0.7 / .8) 37.5%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 0%, oklab(0.5 0.6 0.7 / .8))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))']
+ expected: FAIL
+
+ [Property color value 'color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))']
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/color-computed-lab.html.ini b/tests/wpt/metadata/css/css-color/parsing/color-computed-lab.html.ini
index 26fa6b63414..9ae1836bedc 100644
--- a/tests/wpt/metadata/css/css-color/parsing/color-computed-lab.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/color-computed-lab.html.ini
@@ -286,3 +286,90 @@
[Property color value 'oklch(20% 0 10/0.5)']
expected: FAIL
+
+ [Property color value 'oklab(0.2 0 0.1/0.5)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.2 0 0.1/50%)']
+ expected: FAIL
+
+ [Property color value 'oklab(4 0 0.1/50%)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 -1.6 1.6)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 -2 2)']
+ expected: FAIL
+
+ [Property color value 'oklab(-0.4 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 -0.2 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(0.5 0 -0.2)']
+ expected: FAIL
+
+ [Property color value 'oklab(calc(0.5 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))']
+ expected: FAIL
+
+ [Property color value 'oklab(calc(-0.5 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))']
+ expected: FAIL
+
+ [Property color value 'oklab(0.2 none none / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(20% 0 0.1/0.5)']
+ expected: FAIL
+
+ [Property color value 'oklch(1 2.3 0deg / 0.5)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 0.5 20deg/0.5)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 0.5 20deg/50%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 20deg / -10%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 20deg / 110%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 1.28rad)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 380deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 -340deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 740deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 -700deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(-0.4 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 -0.2 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 20 / 110%)']
+ expected: FAIL
+
+ [Property color value 'oklch(0.1 0.2 -700)']
+ expected: FAIL
+
+ [Property color value 'oklch(calc(0.5 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))']
+ expected: FAIL
+
+ [Property color value 'oklch(calc(-0.5 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))']
+ expected: FAIL
+
+ [Property color value 'oklch(0.2 none none / none)']
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/color-computed-relative-color.html.ini b/tests/wpt/metadata/css/css-color/parsing/color-computed-relative-color.html.ini
index 45682f1413d..f6ca762dc07 100644
--- a/tests/wpt/metadata/css/css-color/parsing/color-computed-relative-color.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/color-computed-relative-color.html.ini
@@ -2881,3 +2881,318 @@
[Property color value 'lch(from var(--mygray) l 30 h)']
expected: FAIL
+
+ [Property color value 'rgb(from oklab(1 0.365 -0.16) r g b)']
+ expected: FAIL
+
+ [Property color value 'rgb(from oklch(1 0.399 336.3) r g b)']
+ expected: FAIL
+
+ [Property color value 'hsl(from oklab(1 0.365 -0.16) h s l)']
+ expected: FAIL
+
+ [Property color value 'hsl(from oklch(1 0.399 336.3) h s l)']
+ expected: FAIL
+
+ [Property color value 'hwb(from oklab(1 0.365 -0.16) h w b)']
+ expected: FAIL
+
+ [Property color value 'hwb(from oklch(1 0.399 336.3) h w b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(2 3 4 / 500%) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(-2 -3 -4 / -500%) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(from oklab(0.25 0.2 0.5) l a b) l a b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0 0 0 / 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l 0 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) 0 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l 0 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / 0)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) 0.35 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l 0.35 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a 0.35 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / .35)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) 0.35 a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l 0.35 b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0.35 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / .35)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.7 0.45 0.3 / 40%) 2 3 4 / 500)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.7 0.45 0.3 / 40%) -2 -3 -4 / -500)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l b a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a a / a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l b a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a a / a)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) none none none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) none none none / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5) l a b / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / none)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 none 0.5) l a b)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(0.25 0.2 0.5 / none) l a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3) alpha b a / l)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3) alpha a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3) alpha a a / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3 / 40%) alpha b a / l)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3 / 40%) alpha a b / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklab(from oklab(.7 0.45 0.3 / 40%) alpha a a / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(2 3 400 / 500%) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(-2 -3 -400 / -500%) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(from oklch(0.7 0.45 30) l c h) l c h)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0deg)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0 / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 0 0deg / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l 0 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 0deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l 0 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 0 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 0deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / 0)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) 0.25 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l 0.25 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 25 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c 25deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / .25)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0.25 c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l 0.25 h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 25 / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c 25deg / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / .25)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 2 3 400 / 500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) -2 -3 -400 / -500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 400deg / 500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 -400deg / -500)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) l c c / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) l c c / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) none none none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) none none none / none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30) l c h / none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c none / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / 40%) l c h / none)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(0.7 0.45 30 / none) l c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) alpha c h / l)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) alpha c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30) alpha c c / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c h / l)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c h / alpha)']
+ expected: FAIL
+
+ [Property color value 'oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)']
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/color-valid-color-mix-function.html.ini b/tests/wpt/metadata/css/css-color/parsing/color-valid-color-mix-function.html.ini
index bc3947b1438..bf32053353b 100644
--- a/tests/wpt/metadata/css/css-color/parsing/color-valid-color-mix-function.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/color-valid-color-mix-function.html.ini
@@ -1306,3 +1306,261 @@
[e.style['color'\] = "color-mix(in xyz-d65, color(xyz-d65 .1 .2 .3 / none), color(xyz-d65 .5 .6 .7 / none))" should set the property value]
expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, 25% oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), 25% oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 30%, oklch(0.5 0.6 70deg) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 12.5%, oklch(0.5 0.6 70deg) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg) 0%, oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, 25% oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4), 25% oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 30%, oklch(0.5 0.6 70deg / .8) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 12.5%, oklch(0.5 0.6 70deg / .8) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 0%, oklch(0.5 0.6 70deg / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch shorter hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch longer hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch increasing hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 40deg), oklch(1 0 60deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 60deg), oklch(1 0 40deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 50deg), oklch(1 0 330deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 330deg), oklch(1 0 50deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 20deg), oklch(1 0 320deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch decreasing hue, oklch(1 0 320deg), oklch(1 0 20deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(none none none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(none 0.2 30deg), oklch(0.5 none 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / 0.5))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, 25% oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), 25% oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, 25% oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), 25% oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8) 25%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8) 75%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 30%, oklab(0.5 0.6 0.7 / .8) 90%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 12.5%, oklab(0.5 0.6 0.7 / .8) 37.5%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 0%, oklab(0.5 0.6 0.7 / .8))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/color-valid-lab.html.ini b/tests/wpt/metadata/css/css-color/parsing/color-valid-lab.html.ini
index da803858db7..86953e283cd 100644
--- a/tests/wpt/metadata/css/css-color/parsing/color-valid-lab.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/color-valid-lab.html.ini
@@ -274,3 +274,87 @@
[e.style['color'\] = "oklch(0 0 0 / none)" should set the property value]
expected: FAIL
+
+ [e.style['color'\] = "oklab(0.2 0 0.1/0.5)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.2 0 0.1/50%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(4 0 0.1/50%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 -1.6 1.6)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 -2 2)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(-0.4 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 -2 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.5 0 -2)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(calc(0.5 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(calc(-0.5 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(0.2 none none / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(1 2.3 0deg / 0.5)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 0.5 20deg/0.5)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 0.5 20deg/50%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 20deg / -10%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 20deg / 110%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 1.28rad)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 380deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 -340deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 740deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 -700deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(-4 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 -0.2 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 20 / 110%)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.1 0.2 -700)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(calc(0.5 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(calc(-0.5 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(0.2 none none / none)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/color-valid-relative-color.html.ini b/tests/wpt/metadata/css/css-color/parsing/color-valid-relative-color.html.ini
index f9fb59c08d2..64ebd2cd7b1 100644
--- a/tests/wpt/metadata/css/css-color/parsing/color-valid-relative-color.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/color-valid-relative-color.html.ini
@@ -2842,3 +2842,318 @@
[e.style['color'\] = "lch(from peru calc(l * 0.8) c h)" should set the property value]
expected: FAIL
+
+ [e.style['color'\] = "rgb(from oklab(1 0.365 -0.16) r g b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "rgb(from oklch(1 0.399 336.3) r g b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hsl(from oklab(1 0.365 -0.16) h s l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hsl(from oklch(1 0.399 336.3) h s l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hwb(from oklab(1 0.365 -0.16) h w b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "hwb(from oklch(1 0.399 336.3) h w b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(2 3 4 / 500%) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(-2 -3 -4 / -500%) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(from oklab(0.25 0.2 0.5) l a b) l a b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0 0 0 / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l 0 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) 0 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l 0 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) 0.35 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l 0.35 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a 0.35 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / .35)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) 0.35 a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l 0.35 b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0.35 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / .35)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.7 0.45 0.3 / 40%) 2 3 4 / 500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.7 0.45 0.3 / 40%) -2 -3 -4 / -500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l b a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a a / a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l b a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a a / a)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) none none none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) none none none / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5) l a b / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 none 0.5) l a b)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(0.25 0.2 0.5 / none) l a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3) alpha b a / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3) alpha a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3) alpha a a / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3 / 40%) alpha b a / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3 / 40%) alpha a b / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklab(from oklab(.7 0.45 0.3 / 40%) alpha a a / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(2 3 400 / 500%) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(-2 -3 -400 / -500%) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(from oklch(0.7 0.45 30) l c h) l c h)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0deg)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0 / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 0 0deg / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l 0 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 0deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l 0 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 0 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 0deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / 0)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) 0.25 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l 0.25 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 0.25 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c 25deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / .25)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0.25 c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l 0.25 h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 0.25 / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c 25deg / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / .25)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 2 3 400 / 500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) -2 -3 -400 / -500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 400deg / 500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 -400deg / -500)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) l c c / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) l c c / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) none none none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) none none none / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30) l c h / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c none / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / 40%) l c h / none)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(0.7 0.45 30 / none) l c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) alpha c h / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) alpha c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30) alpha c c / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c h / l)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c h / alpha)" should set the property value]
+ expected: FAIL
+
+ [e.style['color'\] = "oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)" should set the property value]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-color/parsing/gamut-mapping.html.ini b/tests/wpt/metadata/css/css-color/parsing/gamut-mapping.html.ini
index 8e9302cbfb0..a83221e93e7 100644
--- a/tests/wpt/metadata/css/css-color/parsing/gamut-mapping.html.ini
+++ b/tests/wpt/metadata/css/css-color/parsing/gamut-mapping.html.ini
@@ -52,3 +52,15 @@
[Property color value 'color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
expected: FAIL
+
+ [Property color value 'color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
+
+ [Property color value 'color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)']
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini b/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini
new file mode 100644
index 00000000000..5b685485f3c
--- /dev/null
+++ b/tests/wpt/metadata/css/css-flexbox/hittest-before-pseudo.html.ini
@@ -0,0 +1,3 @@
+[hittest-before-pseudo.html]
+ [Hit-testing text within a pseudo-element flex-item should return the flexbox as the hittest result.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-fonts/discrete-no-interpolation.html.ini b/tests/wpt/metadata/css/css-fonts/discrete-no-interpolation.html.ini
new file mode 100644
index 00000000000..3c9368a965e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-fonts/discrete-no-interpolation.html.ini
@@ -0,0 +1,1068 @@
+[discrete-no-interpolation.html]
+ [CSS Transitions with transition: all: property <font-family> from [initial\] to [c\] at (-0.3) should be [c\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-family> from [initial\] to [c\] at (0) should be [c\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-family> from [initial\] to [c\] at (0.3) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0.5) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (0.6) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (1) should be [c\]]
+ expected: FAIL
+
+ [Web Animations: property <font-family> from [initial\] to [c\] at (1.5) should be [c\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-kerning> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-optical-sizing> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0.3) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0.5) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (0.6) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (1) should be [dark\]]
+ expected: FAIL
+
+ [Web Animations: property <font-palette> from [initial\] to [dark\] at (1.5) should be [dark\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (0.6) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1) should be ["smcp"\]]
+ expected: FAIL
+
+ [Web Animations: property <font-feature-settings> from [initial\] to ["smcp"\] at (1.5) should be ["smcp"\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-small-caps> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-style> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.5) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (0.6) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1) should be [none\]]
+ expected: FAIL
+
+ [Web Animations: property <font-synthesis-weight> from [initial\] to [none\] at (1.5) should be [none\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (0.6) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1) should be [historical-forms\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-alternates> from [initial\] to [historical-forms\] at (1.5) should be [historical-forms\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-caps> from [initial\] to [small-caps\] at (-0.3) should be [small-caps\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-caps> from [initial\] to [small-caps\] at (0) should be [small-caps\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-caps> from [initial\] to [small-caps\] at (0.3) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0.5) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (0.6) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (1) should be [small-caps\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-caps> from [initial\] to [small-caps\] at (1.5) should be [small-caps\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.5) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (0.6) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1) should be [full-width\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-east-asian> from [initial\] to [full-width\] at (1.5) should be [full-width\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (-0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0) should be [common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.3) should be [common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (0.6) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-ligatures> from [common-ligatures\] to [no-common-ligatures\] at (1.5) should be [no-common-ligatures\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (0.6) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1) should be [tabular-nums\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-numeric> from [initial\] to [tabular-nums\] at (1.5) should be [tabular-nums\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [CSS Transitions with transition: all: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [CSS Animations: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (-0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0.3) should be [initial\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0.5) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (0.6) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (1) should be [super\]]
+ expected: FAIL
+
+ [Web Animations: property <font-variant-position> from [initial\] to [super\] at (1.5) should be [super\]]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/trailing-space-position-001.html.ini b/tests/wpt/metadata/css/css-text/white-space/trailing-space-position-001.html.ini
index ad3b251437e..2a6a9ba5a81 100644
--- a/tests/wpt/metadata/css/css-text/white-space/trailing-space-position-001.html.ini
+++ b/tests/wpt/metadata/css/css-text/white-space/trailing-space-position-001.html.ini
@@ -4,6 +4,3 @@
[CSS Test: Positions of trailing collapsible spaces 2]
expected: FAIL
-
- [CSS Test: Positions of trailing collapsible spaces 4]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini b/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini
index 3b9c47983b6..6fbb05ea694 100644
--- a/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini
+++ b/tests/wpt/metadata/css/css-transitions/properties-value-implicit-001.html.ini
@@ -4,84 +4,3 @@
[background-position length-em(em) / values]
expected: FAIL
-
- [border-top-width length-em(em) / values]
- expected: FAIL
-
- [border-right-width length-em(em) / values]
- expected: FAIL
-
- [border-bottom-width length-em(em) / values]
- expected: FAIL
-
- [border-left-width length-em(em) / values]
- expected: FAIL
-
- [padding-bottom length-em(em) / values]
- expected: FAIL
-
- [padding-left length-em(em) / values]
- expected: FAIL
-
- [padding-right length-em(em) / values]
- expected: FAIL
-
- [padding-top length-em(em) / values]
- expected: FAIL
-
- [margin-bottom length-em(em) / values]
- expected: FAIL
-
- [margin-left length-em(em) / values]
- expected: FAIL
-
- [margin-right length-em(em) / values]
- expected: FAIL
-
- [margin-top length-em(em) / values]
- expected: FAIL
-
- [height length-em(em) / values]
- expected: FAIL
-
- [width length-em(em) / values]
- expected: FAIL
-
- [min-height length-em(em) / values]
- expected: FAIL
-
- [min-width length-em(em) / values]
- expected: FAIL
-
- [max-height length-em(em) / values]
- expected: FAIL
-
- [max-width length-em(em) / values]
- expected: FAIL
-
- [right length-em(em) / values]
- expected: FAIL
-
- [left length-em(em) / values]
- expected: FAIL
-
- [line-height length-em(em) / values]
- expected: FAIL
-
- [letter-spacing length-em(em) / values]
- expected: FAIL
-
- [word-spacing length-em(em) / values]
- expected: FAIL
-
- [text-indent length-em(em) / values]
- expected: FAIL
-
- [outline-offset length-em(em) / values]
- expected: FAIL
-
- [outline-width length-em(em) / values]
- expected: FAIL
-
- [vertical-align length-em(em) / values]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini
new file mode 100644
index 00000000000..cf67b5d03dd
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-dynamic-anon-box.html.ini
@@ -0,0 +1,3 @@
+[elementFromPoint-dynamic-anon-box.html]
+ [Link should be clickable after hiding a scrollbox with an anonymous table inside]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini
new file mode 100644
index 00000000000..b905fe70fcb
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-ellipsis-in-inline-box.html.ini
@@ -0,0 +1,3 @@
+[elementFromPoint-ellipsis-in-inline-box.html]
+ [elementFromPoint-ellipsis-in-inline-box]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini
new file mode 100644
index 00000000000..7e9331b6bc2
--- /dev/null
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-float-in-relative.html.ini
@@ -0,0 +1,3 @@
+[elementFromPoint-float-in-relative.html]
+ [elementFromPoint-float-in-relative]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini
index 07ff86d09aa..8ae9bae3500 100644
--- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini
+++ b/tests/wpt/metadata/css/cssom-view/elementFromPoint-list-001.html.ini
@@ -13,6 +13,3 @@
[<li>Outside 3</li>]
expected: FAIL
-
- [<li>Inside 1</li>]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/cssom-view/elementFromPoint-subpixel.html.ini b/tests/wpt/metadata/css/cssom-view/elementFromPoint-subpixel.html.ini
deleted file mode 100644
index 8f6f663ba61..00000000000
--- a/tests/wpt/metadata/css/cssom-view/elementFromPoint-subpixel.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[elementFromPoint-subpixel.html]
- [Hit test top left corner of box]
- expected: FAIL
diff --git a/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini b/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini
deleted file mode 100644
index c57e48f2078..00000000000
--- a/tests/wpt/metadata/fetch/api/redirect/redirect-keepalive.any.js.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[redirect-keepalive.any.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini b/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini
index 571eddcad27..ed2ce3392d0 100644
--- a/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini
+++ b/tests/wpt/metadata/fetch/metadata/generated/css-images.sub.tentative.html.ini
@@ -147,8 +147,8 @@
[list-style-image sec-fetch-site - HTTPS downgrade-upgrade]
expected: FAIL
- [background-image sec-fetch-user - Not sent to non-trustworthy same-origin destination]
- expected: TIMEOUT
+ [border-image sec-fetch-mode - Not sent to non-trustworthy cross-site destination]
+ expected: FAIL
- [border-image sec-fetch-user - Not sent to non-trustworthy same-origin destination]
+ [border-image sec-fetch-site - HTTPS downgrade (header not sent)]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/range/blob.any.js.ini b/tests/wpt/metadata/fetch/range/blob.any.js.ini
index bb3487a3149..d6e571928bb 100644
--- a/tests/wpt/metadata/fetch/range/blob.any.js.ini
+++ b/tests/wpt/metadata/fetch/range/blob.any.js.ini
@@ -56,6 +56,15 @@
[Blob content with short content and a large range start]
expected: FAIL
+ [Blob range with whitespace before and after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace around equals sign]
+ expected: FAIL
+
[blob.any.html]
[A simple blob range request.]
@@ -114,3 +123,12 @@
[Blob content with short content and a large range start]
expected: FAIL
+
+ [Blob range with whitespace before and after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace after hyphen]
+ expected: FAIL
+
+ [Blob range with whitespace around equals sign]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini
index f7ee5361549..33efcdbcf48 100644
--- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/005.html.ini
@@ -1,4 +1,3 @@
[005.html]
- expected: TIMEOUT
[Link with onclick navigation and href navigation ]
expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
index dd7320bb46e..dc1144214ef 100644
--- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html.ini
@@ -1,10 +1,9 @@
[iframe-src-aboutblank-navigate-immediately.html]
- expected: TIMEOUT
[Navigating to a different document with window.open]
expected: FAIL
[Navigating to a different document with form submission]
- expected: NOTRUN
+ expected: FAIL
[Navigating to a different document with link click]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini
index 51fd557bd7f..149bcb4ff8c 100644
--- a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html.ini
@@ -7,3 +7,6 @@
[load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank#foo']
expected: FAIL
+
+ [load & pageshow events do not fire on contentWindow of <iframe> element created with src='about:blank']
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini
new file mode 100644
index 00000000000..4ecd6d9f753
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.js.ini
@@ -0,0 +1,3 @@
+[navigation-unload-cross-origin.sub.window.html]
+ [Cross-origin navigation started from unload handler must be ignored]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini b/tests/wpt/metadata/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini
new file mode 100644
index 00000000000..d993e8dcc42
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/browsing-the-web/read-media/pageload-image-in-popup.html.ini
@@ -0,0 +1,3 @@
+[pageload-image-in-popup.html]
+ [The document for a standalone media file should have one child in the body.]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini
deleted file mode 100644
index f5b7b25324f..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse-during-unload.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse-during-unload.html]
- expected: TIMEOUT
- [Traversing the history during unload]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
new file mode 100644
index 00000000000..a03a8322165
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_3.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
new file mode 100644
index 00000000000..d6188c03424
--- /dev/null
+++ b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
@@ -0,0 +1,3 @@
+[traverse_the_history_4.html]
+ [Multiple history traversals, last would be aborted]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini b/tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini
deleted file mode 100644
index 4b4820d1729..00000000000
--- a/tests/wpt/metadata/html/browsers/the-window-object/open-close/creating_browsing_context_test_01.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[creating_browsing_context_test_01.html]
- [first argument: absolute url]
- expected: FAIL
diff --git a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini
index 9b27c5c1957..add66c12f92 100644
--- a/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini
+++ b/tests/wpt/metadata/html/interaction/focus/the-autofocus-attribute/update-the-rendering.html.ini
@@ -1,7 +1,6 @@
[update-the-rendering.html]
- expected: TIMEOUT
["Flush autofocus candidates" should be happen after the first animation frame callbacks, and before a resize event in the next iteration of window event loop.]
expected: TIMEOUT
["Flush autofocus candidates" should be happen before a scroll event and animation frame callbacks]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
index 6f7461b9472..f9138fb999a 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html.ini
@@ -1,4 +1,5 @@
[iframe_sandbox_popups_nonescaping-1.html]
type: testharness
+ expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: FAIL
+ expected: NOTRUN
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
index 76e34322dca..6bec7a732b8 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html.ini
@@ -1,5 +1,4 @@
[iframe_sandbox_popups_nonescaping-2.html]
type: testharness
- expected: TIMEOUT
[Check that popups from a sandboxed iframe do not escape the sandbox]
- expected: NOTRUN
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini
index 31745fdcdcf..31928ad3947 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-child-special-cases.tentative.sub.window.js.ini
@@ -1,4 +1,5 @@
[sandbox-top-navigation-child-special-cases.tentative.sub.window.html]
+ expected: TIMEOUT
[Allow top with user activation + user activation]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini
index 8d9e46ff1f5..fbc190a2cca 100644
--- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/multipart-formdata.window.js.ini
@@ -175,3 +175,6 @@
[multipart/form-data: 0x00 in value (normal form)]
expected: FAIL
+
+ [multipart/form-data: 0x00 in value (formdata event)]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini
index 631929bea5c..2bd3dee7536 100644
--- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/text-plain.window.js.ini
@@ -172,3 +172,9 @@
[text/plain: 0x00 in name (formdata event)]
expected: FAIL
+
+ [text/plain: Basic File test (formdata event)]
+ expected: FAIL
+
+ [text/plain: 0x00 in value (formdata event)]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini b/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini
index f0754037c99..695cea45d91 100644
--- a/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini
+++ b/tests/wpt/metadata/html/semantics/forms/form-submission-0/urlencoded2.window.js.ini
@@ -175,3 +175,6 @@
[application/x-www-form-urlencoded: double quote in value (normal form)]
expected: FAIL
+
+ [application/x-www-form-urlencoded: Basic test (formdata event)]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini
new file mode 100644
index 00000000000..1181798bd79
--- /dev/null
+++ b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/defer-script/async-script.html.ini
@@ -0,0 +1,4 @@
+[async-script.html]
+
+[async-script.html?reload]
+ expected: ERROR
diff --git a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini b/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini
deleted file mode 100644
index b8bdf33cb65..00000000000
--- a/tests/wpt/metadata/html/syntax/parsing/DOMContentLoaded-defer.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[DOMContentLoaded-defer.html]
- [The end: DOMContentLoaded and defer scripts]
- expected: FAIL
diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
index 7d4c3a1b06d..e55f8f2ce3c 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/events/compile-event-handler-settings-objects.html.ini
@@ -5,4 +5,4 @@
expected: TIMEOUT
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
- expected: TIMEOUT
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini
index dbe1def99e3..7237f5792de 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry-different-function-realm.html.ini
@@ -1,9 +1,10 @@
[promise-job-entry-different-function-realm.html]
+ expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
- expected: FAIL
+ expected: TIMEOUT
[Thenable resolution]
expected: FAIL
@@ -12,4 +13,4 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
index 31bfd644df0..8bcf3a07de4 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/integration-with-the-javascript-job-queue/promise-job-entry.html.ini
@@ -1,9 +1,10 @@
[promise-job-entry.html]
+ expected: TIMEOUT
[Fulfillment handler on fulfilled promise]
expected: FAIL
[Rejection handler on pending-then-rejected promise]
- expected: FAIL
+ expected: TIMEOUT
[Sanity check: this all works as expected with no promises involved]
expected: FAIL
@@ -15,4 +16,4 @@
expected: FAIL
[Fulfillment handler on pending-then-fulfilled promise]
- expected: FAIL
+ expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
index 4a48dd15a9d..1d71471b73c 100644
--- a/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
+++ b/tests/wpt/metadata/html/webappapis/scripting/processing-model-2/unhandled-promise-rejections/promise-rejection-events.html.ini
@@ -1,6 +1,7 @@
[promise-rejection-events.html]
+ expected: TIMEOUT
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
- expected: FAIL
+ expected: TIMEOUT
[unhandledrejection: from createImageBitmap which is UA triggered]
expected: FAIL
diff --git a/tests/wpt/metadata/resource-timing/response-status-code.html.ini b/tests/wpt/metadata/resource-timing/response-status-code.html.ini
index 38df5f01300..b84e3cf7b11 100644
--- a/tests/wpt/metadata/resource-timing/response-status-code.html.ini
+++ b/tests/wpt/metadata/resource-timing/response-status-code.html.ini
@@ -265,10 +265,10 @@
expected: FAIL
[This test validates the response status of resources. 88]
- expected: FAIL
+ expected: TIMEOUT
[This test validates the response status of resources. 89]
- expected: TIMEOUT
+ expected: NOTRUN
[This test validates the response status of resources. 90]
expected: NOTRUN
diff --git a/tests/wpt/metadata/url/url-statics-canparse.any.js.ini b/tests/wpt/metadata/url/url-statics-canparse.any.js.ini
new file mode 100644
index 00000000000..08c038b74e8
--- /dev/null
+++ b/tests/wpt/metadata/url/url-statics-canparse.any.js.ini
@@ -0,0 +1,44 @@
+[url-statics-canparse.any.html]
+ [URL.canParse(undefined, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a:b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:b)]
+ expected: FAIL
+
+ [URL.canParse(a:/b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:/b)]
+ expected: FAIL
+
+ [URL.canParse(https://test:test, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a, https://b/)]
+ expected: FAIL
+
+
+[url-statics-canparse.any.worker.html]
+ [URL.canParse(undefined, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a:b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:b)]
+ expected: FAIL
+
+ [URL.canParse(a:/b, undefined)]
+ expected: FAIL
+
+ [URL.canParse(undefined, a:/b)]
+ expected: FAIL
+
+ [URL.canParse(https://test:test, undefined)]
+ expected: FAIL
+
+ [URL.canParse(a, https://b/)]
+ expected: FAIL
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 1f70062991c..20a8f9a4320 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
@@ -1,4 +1,5 @@
[realtimeanalyser-fft-scaling.html]
+ expected: TIMEOUT
[X 2048-point FFT peak position is not equal to 64. Got 0.]
expected: FAIL
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini
index 37dd5b66269..e86d0df261e 100644
--- a/tests/wpt/metadata/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audiocontext-interface/audiocontextoptions.html.ini
@@ -1,5 +1,5 @@
[audiocontextoptions.html]
- expected: TIMEOUT
+ expected: CRASH
[X context = new AudioContext({sampleRate: 1}) did not throw an exception.]
expected: FAIL
diff --git a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini b/tests/wpt/metadata/webmessaging/without-ports/018.html.ini
index b7b36c1d3a4..b7b36c1d3a4 100644
--- a/tests/wpt/metadata/webmessaging/with-ports/018.html.ini
+++ b/tests/wpt/metadata/webmessaging/without-ports/018.html.ini
diff --git a/tests/wpt/metadata/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini b/tests/wpt/metadata/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini
deleted file mode 100644
index aa6c9e5b826..00000000000
--- a/tests/wpt/metadata/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html]
- expected: TIMEOUT
- [StorageKey: test 3P about:blank window opened from a 3P iframe]
- expected: TIMEOUT
diff --git a/tests/wpt/mozilla/meta/css/stylesheet_media_queries.html.ini b/tests/wpt/mozilla/meta/css/stylesheet_media_queries.html.ini
new file mode 100644
index 00000000000..77ca6b0688d
--- /dev/null
+++ b/tests/wpt/mozilla/meta/css/stylesheet_media_queries.html.ini
@@ -0,0 +1,3 @@
+[stylesheet_media_queries.html]
+ [Media queries within stylesheets]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini b/tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini
new file mode 100644
index 00000000000..f78f699f620
--- /dev/null
+++ b/tests/wpt/mozilla/meta/mozilla/scrollBy.html.ini
@@ -0,0 +1,3 @@
+[scrollBy.html]
+ [Ensure that the window.scrollBy function affects scroll position as expected]
+ expected: FAIL
diff --git a/tests/wpt/web-platform-tests/.azure-pipelines.yml b/tests/wpt/web-platform-tests/.azure-pipelines.yml
index 3f824f68e0c..aacd78815ad 100644
--- a/tests/wpt/web-platform-tests/.azure-pipelines.yml
+++ b/tests/wpt/web-platform-tests/.azure-pipelines.yml
@@ -233,7 +233,7 @@ jobs:
toxenv: py310
- job: tools_unittest_win_py37
- displayName: 'tools/ unittests: Windows + Python 3.6'
+ displayName: 'tools/ unittests: Windows + Python 3.7'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.tools_unittest']
pool:
@@ -243,7 +243,7 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
- versionSpec: '3.6'
+ versionSpec: '3.7'
addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
@@ -268,8 +268,8 @@ jobs:
directory: tools/
toxenv: py310
-- job: wptrunner_unittest_win_py36
- displayName: 'tools/wptrunner/ unittests: Windows + Python 3.6'
+- job: wptrunner_unittest_win_py37
+ displayName: 'tools/wptrunner/ unittests: Windows + Python 3.7'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wptrunner_unittest']
pool:
@@ -277,13 +277,13 @@ jobs:
steps:
- task: UsePythonVersion@0
inputs:
- versionSpec: '3.6'
+ versionSpec: '3.7'
addToPath: false
- template: tools/ci/azure/checkout.yml
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wptrunner/
- toxenv: py36
+ toxenv: py37
- job: wptrunner_unittest_win_py310
displayName: 'tools/wptrunner/ unittests: Windows + Python 3.10'
@@ -302,8 +302,8 @@ jobs:
directory: tools/wptrunner/
toxenv: py310
-- job: wpt_integration_win_py36
- displayName: 'tools/wpt/ tests: Windows + Python 3.6'
+- job: wpt_integration_win_py37
+ displayName: 'tools/wpt/ tests: Windows + Python 3.7'
dependsOn: decision
condition: dependencies.decision.outputs['test_jobs.wpt_integration']
pool:
@@ -312,7 +312,7 @@ jobs:
# full checkout required
- task: UsePythonVersion@0
inputs:
- versionSpec: '3.6'
+ versionSpec: '3.7'
# currently just using the outdated Chrome/Firefox on the VM rather than
# figuring out how to install Chrome Dev channel on Windows
# - template: tools/ci/azure/install_chrome.yml
@@ -322,7 +322,7 @@ jobs:
- template: tools/ci/azure/tox_pytest.yml
parameters:
directory: tools/wpt/
- toxenv: py36
+ toxenv: py37
- job: wpt_integration_win_py310
displayName: 'tools/wpt/ tests: Windows + Python 3.10'
diff --git a/tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html
new file mode 100644
index 00000000000..a1a48d58e8c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-backgrounds/background-repeat/background-repeat-no-interpolation.html
@@ -0,0 +1,15 @@
+<!DOCTYPE html>
+<link rel=author href="mailto:jarhar@chromium.org">
+<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<body>
+<script>
+test_no_interpolation({
+ property: 'background-repeat',
+ from: 'initial',
+ to: 'round'
+});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/scope-evaluation.html b/tests/wpt/web-platform-tests/css/css-cascade/scope-evaluation.html
index bd782917e3d..7c92ae1a736 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/scope-evaluation.html
+++ b/tests/wpt/web-platform-tests/css/css-cascade/scope-evaluation.html
@@ -71,9 +71,26 @@ test_scope(document.currentScript, () => {
</template>
<script>
test_scope(document.currentScript, () => {
+ assert_not_green('.a');
+ assert_not_green('.a > span');
+}, 'Scope can not match its own root without :scope');
+</script>
+
+<template>
+ <style>
+ @scope (.a) {
+ :scope { background-color: green; }
+ }
+ </style>
+ <div class=a> <!-- green -->
+ <span>not green</span>
+ </div>
+</template>
+<script>
+test_scope(document.currentScript, () => {
assert_green('.a');
assert_not_green('.a > span');
-}, 'Single scope (self)');
+}, 'Selecting self with :scope');
</script>
<template>
@@ -354,7 +371,7 @@ test_scope(document.currentScript, () => {
test_scope(document.currentScript, () => {
assert_not_green('#above');
assert_not_green('#adjacent');
- assert_green('.a');
+ assert_not_green('.a');
assert_green('.a > div');
assert_not_green('.b');
assert_not_green('#below');
@@ -382,7 +399,7 @@ test_scope(document.currentScript, () => {
test_scope(document.currentScript, () => {
assert_not_green('#above');
assert_not_green('#adjacent');
- assert_green('.a');
+ assert_not_green('.a');
assert_green('.a > div');
assert_green('.b');
assert_not_green('#limit');
@@ -457,3 +474,40 @@ test_scope(document.currentScript, () => {
assert_not_green('.c');
}, ':scope indirect adjacent sibling');
</script>
+
+
+<template>
+ <style>
+ @scope (.a) {
+ > span { background-color: green; }
+ }
+ </style>
+ <div class=a>
+ <span>green</span>
+ </div>
+</template>
+<script>
+test_scope(document.currentScript, () => {
+ assert_green('.a > span');
+}, 'Relative selector inside @scope');
+</script>
+
+
+<template>
+ <style>
+ @scope (.a) {
+ /* Can never match anything. */
+ :scope > :scope { background-color: green; }
+ }
+ </style>
+ <div class=a>
+ <div id=inner class=a>
+ </div>
+ </div>
+</template>
+<script>
+test_scope(document.currentScript, () => {
+ assert_not_green('.a');
+ assert_not_green('#inner');
+}, ':scope in two different compounds');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/scope-implicit.html b/tests/wpt/web-platform-tests/css/css-cascade/scope-implicit.html
index cc2240959e3..c49abb0a389 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/scope-implicit.html
+++ b/tests/wpt/web-platform-tests/css/css-cascade/scope-implicit.html
@@ -109,3 +109,65 @@ test((t) => {
assert_equals(getComputedStyle(a).zIndex, 'auto');
}, '@scope with effectively empty :is() must not match anything');
</script>
+
+<template id=test_implicit_descendant>
+ <div id=div>
+ <style>
+ @scope {
+ #div { z-index:1; }
+ }
+ </style>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_implicit_descendant.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(div).zIndex, 'auto');
+}, 'Implicit @scope has implicitly added :scope descendant combinator');
+</script>
+
+<template id=test_implicit_relative>
+ <div id=outer>
+ <style>
+ @scope {
+ > div { z-index:1; }
+ }
+ </style>
+ <div id=child>
+ <div id=inner></div>
+ </div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_implicit_relative.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(outer).zIndex, 'auto');
+ assert_equals(getComputedStyle(child).zIndex, '1');
+ assert_equals(getComputedStyle(inner).zIndex, 'auto');
+}, 'Implicit @scope with inner relative selector');
+</script>
+
+<template id=test_implicit_descendant_nesting_selector>
+ <div id=div>
+ <style>
+ @scope {
+ /* Behaves like :scope */
+ & { z-index:1; }
+ }
+ </style>
+ <div id=inner></div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_implicit_descendant_nesting_selector.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(div).zIndex, '1');
+ assert_equals(getComputedStyle(inner).zIndex, 'auto');
+}, 'Implicit @scope with inner nesting selector');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/scope-invalidation.html b/tests/wpt/web-platform-tests/css/css-cascade/scope-invalidation.html
index 6f8abfd79c2..62212f79210 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/scope-invalidation.html
+++ b/tests/wpt/web-platform-tests/css/css-cascade/scope-invalidation.html
@@ -66,7 +66,7 @@ test_scope_invalidation(document.currentScript, () => {
<template>
<style>
@scope (.a) {
- .b { background-color: green; }
+ :scope { background-color: green; }
}
</style>
<div class=b></div>
@@ -79,10 +79,9 @@ test_scope_invalidation(document.currentScript, () => {
assert_green(b);
b.classList.remove('a');
assert_not_green(b);
-}, 'Element becoming scope root, with inner selector matching that root');
+}, 'Element becoming scope root, with inner :scope rule');
</script>
-
<template>
<style>
@scope (.a) to (.b) {
diff --git a/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html b/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html
index 753eab8fbbb..f9d890535db 100644
--- a/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html
+++ b/tests/wpt/web-platform-tests/css/css-cascade/scope-nesting.html
@@ -93,3 +93,28 @@ test((t) => {
assert_equals(getComputedStyle(outside).zIndex, 'auto');
}, 'Relative selectors in <scope-end>');
</script>
+
+<template id=test_inner_nest>
+ <div>
+ <style>
+ @scope (.a) {
+ & + & {
+ z-index:1;
+ }
+ }
+ </style>
+ <div class=a>
+ <div id=inner1 class=a></div>
+ <div id=inner2 class=a></div>
+ </div>
+ </div>
+</template>
+<script>
+test((t) => {
+ t.add_cleanup(() => main.replaceChildren());
+ main.append(test_inner_nest.content.cloneNode(true));
+
+ assert_equals(getComputedStyle(inner1).zIndex, 'auto');
+ assert_equals(getComputedStyle(inner2).zIndex, '1');
+}, 'Nesting-selector in the scope\'s <stylesheet>');
+</script> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-color/oklch-010.html b/tests/wpt/web-platform-tests/css/css-color/oklch-010.html
index 425f4d82018..091b760bea2 100644
--- a/tests/wpt/web-platform-tests/css/css-color/oklch-010.html
+++ b/tests/wpt/web-platform-tests/css/css-color/oklch-010.html
@@ -8,7 +8,7 @@
<meta name="assert" content="oklch() with no alpha">
<style>
.test { background-color: hsl(120, 100%, 50%); width: 12em; height: 12em; }
- .test { background-color: oklch(0% 110 60); } /* l = 0% should always be black */
+ .test { background-color: oklch(0% 1.1 60); } /* l = 0% should always be black */
</style>
<body>
<p>Test passes if you see a black square, and no green.</p>
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function.html
index 1da6aa49e32..f000ed6a454 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-color-mix-function.html
@@ -224,70 +224,70 @@
test_computed_value(`color`, `color-mix(in lch, lch(10 20 30deg / none), lch(50 60 70deg / none))`, `lch(30 40 50 / none)`);
// oklch()
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(50 60 70deg))`, `oklch(30 40 50)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 25%, oklch(50 60 70deg))`, `oklch(40 50 60)`);
- test_computed_value(`color`, `color-mix(in oklch, 25% oklch(10 20 30deg), oklch(50 60 70deg))`, `oklch(40 50 60)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), 25% oklch(50 60 70deg))`, `oklch(20 30 40)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(50 60 70deg) 25%)`, `oklch(20 30 40)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 25%, oklch(50 60 70deg) 75%)`, `oklch(40 50 60)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 30%, oklch(50 60 70deg) 90%)`, `oklch(40 50 60)`); // Scale down > 100% sum.
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 12.5%, oklch(50 60 70deg) 37.5%)`, `oklch(40 50 60 / 0.5)`); // Scale up < 100% sum, causes alpha multiplication.
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 0%, oklch(50 60 70deg))`, `oklch(50 60 70)`);
-
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4), oklch(50 60 70deg / .8))`, `oklch(36.666664 46.666664 50 / 0.6)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 25%, oklch(50 60 70deg / .8))`, `oklch(44.285713 54.285717 60 / 0.7)`);
- test_computed_value(`color`, `color-mix(in oklch, 25% oklch(10 20 30deg / .4), oklch(50 60 70deg / .8))`, `oklch(44.285713 54.285717 60 / 0.7)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4), 25% oklch(50 60 70deg / .8))`, `oklch(26 36 40 / 0.5)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4), oklch(50 60 70deg / .8) 25%)`, `oklch(26 36 40 / 0.5)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 25%, oklch(50 60 70deg / .8) 75%)`, `oklch(44.285713 54.285717 60 / 0.7)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 30%, oklch(50 60 70deg / .8) 90%)`, `oklch(44.285713 54.285717 60 / 0.7)`); // Scale down > 100% sum.
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 12.5%, oklch(50 60 70deg / .8) 37.5%)`, `oklch(44.285713 54.285717 60 / 0.35)`); // Scale up < 100% sum, causes alpha multiplication.
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 0%, oklch(50 60 70deg / .8))`, `oklch(50 60 70 / 0.8)`);
-
- test_computed_value(`color`, `color-mix(in oklch, oklch(100 0 40deg), oklch(100 0 60deg))`, `oklch(100 0 50)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(100 0 60deg), oklch(100 0 40deg))`, `oklch(100 0 50)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(100 0 50deg), oklch(100 0 330deg))`, `oklch(100 0 10)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(100 0 330deg), oklch(100 0 50deg))`, `oklch(100 0 10)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(100 0 20deg), oklch(100 0 320deg))`, `oklch(100 0 350)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(100 0 320deg), oklch(100 0 20deg))`, `oklch(100 0 350)`);
-
- test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `oklch(100 0 50)`);
- test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `oklch(100 0 50)`);
- test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `oklch(100 0 10)`);
- test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `oklch(100 0 10)`);
- test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `oklch(100 0 350)`);
- test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `oklch(100 0 350)`);
-
- test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `oklch(100 0 230)`);
- test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `oklch(100 0 230)`);
- test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `oklch(100 0 190)`);
- test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `oklch(100 0 190)`);
- test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `oklch(100 0 170)`);
- test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `oklch(100 0 170)`);
-
- test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `oklch(100 0 50)`);
- test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `oklch(100 0 230)`);
- test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `oklch(100 0 190)`);
- test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `oklch(100 0 10)`);
- test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `oklch(100 0 170)`);
- test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `oklch(100 0 350)`);
-
- test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `oklch(100 0 230)`);
- test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `oklch(100 0 50)`);
- test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `oklch(100 0 10)`);
- test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `oklch(100 0 190)`);
- test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `oklch(100 0 350)`);
- test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `oklch(100 0 170)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))`, `oklch(0.3 0.4 50)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg))`, `oklch(0.4 0.5 60)`);
+ test_computed_value(`color`, `color-mix(in oklch, 25% oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))`, `oklch(0.4 0.5 60)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), 25% oklch(0.5 0.6 70deg))`, `oklch(0.2 0.3 40)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg) 25%)`, `oklch(0.2 0.3 40)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg) 75%)`, `oklch(0.4 0.5 60)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 30%, oklch(0.5 0.6 70deg) 90%)`, `oklch(0.4 0.5 60)`); // Scale down > 100% sum.
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 12.5%, oklch(0.5 0.6 70deg) 37.5%)`, `oklch(0.4 0.5 60 / 0.5)`); // Scale up < 100% sum, causes alpha multiplication.
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 0%, oklch(0.5 0.6 70deg))`, `oklch(0.5 0.6 70)`);
+
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))`, `oklch(0.36666664 0.46666664 50 / 0.6)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8))`, `oklch(0.44285713 0.54285717 60 / 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklch, 25% oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))`, `oklch(0.44285713 0.54285717 60 / 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4), 25% oklch(0.5 0.6 70deg / .8))`, `oklch(0.26 0.36 40 / 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8) 25%)`, `oklch(0.26 0.36 40 / 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8) 75%)`, `oklch(0.44285713 0.54285717 60 / 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 30%, oklch(0.5 0.6 70deg / .8) 90%)`, `oklch(0.44285713 0.54285717 60 / 0.7)`); // Scale down > 100% sum.
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 12.5%, oklch(0.5 0.6 70deg / .8) 37.5%)`, `oklch(0.44285713 0.54285717 60 / 0.35)`); // Scale up < 100% sum, causes alpha multiplication.
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 0%, oklch(0.5 0.6 70deg / .8))`, `oklch(0.5 0.6 70 / 0.8)`);
+
+ test_computed_value(`color`, `color-mix(in oklch, oklch(1 0 40deg), oklch(1 0 60deg))`, `oklch(1 0 50)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(1 0 60deg), oklch(1 0 40deg))`, `oklch(1 0 50)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(1 0 50deg), oklch(1 0 330deg))`, `oklch(1 0 10)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(1 0 330deg), oklch(1 0 50deg))`, `oklch(1 0 10)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(1 0 20deg), oklch(1 0 320deg))`, `oklch(1 0 350)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(1 0 320deg), oklch(1 0 20deg))`, `oklch(1 0 350)`);
+
+ test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `oklch(1 0 50)`);
+ test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `oklch(1 0 50)`);
+ test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `oklch(1 0 10)`);
+ test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `oklch(1 0 10)`);
+ test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `oklch(1 0 350)`);
+ test_computed_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `oklch(1 0 350)`);
+
+ test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `oklch(1 0 230)`);
+ test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `oklch(1 0 230)`);
+ test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `oklch(1 0 190)`);
+ test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `oklch(1 0 190)`);
+ test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `oklch(1 0 170)`);
+ test_computed_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `oklch(1 0 170)`);
+
+ test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `oklch(1 0 50)`);
+ test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `oklch(1 0 230)`);
+ test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `oklch(1 0 190)`);
+ test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `oklch(1 0 10)`);
+ test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `oklch(1 0 170)`);
+ test_computed_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `oklch(1 0 350)`);
+
+ test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `oklch(1 0 230)`);
+ test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `oklch(1 0 50)`);
+ test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `oklch(1 0 10)`);
+ test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `oklch(1 0 190)`);
+ test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `oklch(1 0 350)`);
+ test_computed_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `oklch(1 0 170)`);
test_computed_value(`color`, `color-mix(in oklch, oklch(none none none), oklch(none none none))`, `oklch(none none none)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(none none none), oklch(50 60 70deg))`, `oklch(50 60 70)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(none none none))`, `oklch(10 20 30)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 none), oklch(50 60 70deg))`, `oklch(30 40 70)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(50 60 none))`, `oklch(30 40 30)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(none 20 30deg), oklch(50 none 70deg))`, `oklch(50 20 50)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / none), oklch(50 60 70deg))`, `oklch(30 40 50)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / none), oklch(50 60 70deg / 0.5))`, `oklch(30 40 50 / 0.5)`);
- test_computed_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / none), oklch(50 60 70deg / none))`, `oklch(30 40 50 / none)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70deg))`, `oklch(0.5 0.6 70)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(none none none))`, `oklch(0.1 0.2 30)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70deg))`, `oklch(0.3 0.4 70)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 none))`, `oklch(0.3 0.4 30)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(none 0.2 30deg), oklch(0.5 none 70deg))`, `oklch(0.5 0.2 50)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg))`, `oklch(0.3 0.4 50)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / 0.5))`, `oklch(0.3 0.4 50 / 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / none))`, `oklch(0.3 0.4 50 / none)`);
// lab()
test_computed_value(`color`, `color-mix(in lab, lab(10 20 30), lab(50 60 70))`, `lab(30 40 50)`);
@@ -321,35 +321,35 @@
test_computed_value(`color`, `color-mix(in lab, lab(10 20 30 / none), lab(50 60 70 / none))`, `lab(30 40 50 / none)`);
// oklab()
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70))`, `oklab(30 40 50)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70))`, `oklab(40 50 60)`);
- test_computed_value(`color`, `color-mix(in oklab, 25% oklab(10 20 30), oklab(50 60 70))`, `oklab(40 50 60)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30), 25% oklab(50 60 70))`, `oklab(20 30 40)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70) 25%)`, `oklab(20 30 40)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70) 75%)`, `oklab(40 50 60)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30) 30%, oklab(50 60 70) 90%)`, `oklab(40 50 60)`); // Scale down > 100% sum.
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30) 12.5%, oklab(50 60 70) 37.5%)`, `oklab(40 50 60 / 0.5)`); // Scale up < 100% sum, causes alpha multiplication.
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30) 0%, oklab(50 60 70))`, `oklab(50 60 70)`);
-
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4), oklab(50 60 70 / .8))`, `oklab(36.666664 46.666664 56.666664 / 0.6)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 25%, oklab(50 60 70 / .8))`, `oklab(44.285713 54.285717 64.28571 / 0.7)`);
- test_computed_value(`color`, `color-mix(in oklab, 25% oklab(10 20 30 / .4), oklab(50 60 70 / .8))`, `oklab(44.285713 54.285717 64.28571 / 0.7)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4), 25% oklab(50 60 70 / .8))`, `oklab(26 36 46 / 0.5)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4), oklab(50 60 70 / .8) 25%)`, `oklab(26 36 46 / 0.5)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 25%, oklab(50 60 70 / .8) 75%)`, `oklab(44.285713 54.285717 64.28571 / 0.7)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 30%, oklab(50 60 70 / .8) 90%)`, `oklab(44.285713 54.285717 64.28571 / 0.7)`); // Scale down > 100% sum.
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 12.5%, oklab(50 60 70 / .8) 37.5%)`, `oklab(44.285713 54.285717 64.28571 / 0.35)`); // Scale up < 100% sum, causes alpha multiplication.
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 0%, oklab(50 60 70 / .8))`, `oklab(50 60 70 / 0.8)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))`, `oklab(0.3 0.4 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))`, `oklab(0.4 0.5 0.6)`);
+ test_computed_value(`color`, `color-mix(in oklab, 25% oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))`, `oklab(0.4 0.5 0.6)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), 25% oklab(0.5 0.6 0.7))`, `oklab(0.2 0.3 0.4)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)`, `oklab(0.2 0.3 0.4)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)`, `oklab(0.4 0.5 0.6)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)`, `oklab(0.4 0.5 0.6)`); // Scale down > 100% sum.
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)`, `oklab(0.4 0.5 0.6 / 0.5)`); // Scale up < 100% sum, causes alpha multiplication.
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))`, `oklab(0.5 0.6 0.7)`);
+
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))`, `oklab(0.36666664 0.46666664 0.56666664 / 0.6)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8))`, `oklab(0.44285713 0.54285717 0.6428571 / 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklab, 25% oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))`, `oklab(0.44285713 0.54285717 0.6428571 / 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), 25% oklab(0.5 0.6 0.7 / .8))`, `oklab(0.26 0.36 0.46 / 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8) 25%)`, `oklab(0.26 0.36 0.46 / 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8) 75%)`, `oklab(0.44285713 0.54285717 0.6428571 / 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 30%, oklab(0.5 0.6 0.7 / .8) 90%)`, `oklab(0.44285713 0.54285717 0.6428571 / 0.7)`); // Scale down > 100% sum.
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 12.5%, oklab(0.5 0.6 0.7 / .8) 37.5%)`, `oklab(0.44285713 0.54285717 0.6428571 / 0.35)`); // Scale up < 100% sum, causes alpha multiplication.
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 0%, oklab(0.5 0.6 0.7 / .8))`, `oklab(0.5 0.6 0.7 / 0.8)`);
test_computed_value(`color`, `color-mix(in oklab, oklab(none none none), oklab(none none none))`, `oklab(none none none)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(none none none), oklab(50 60 70))`, `oklab(50 60 70)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(none none none))`, `oklab(10 20 30)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 none), oklab(50 60 70))`, `oklab(30 40 70)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 none))`, `oklab(30 40 30)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(none 20 30), oklab(50 none 70))`, `oklab(50 20 50)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70))`, `oklab(30 40 50)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / 0.5))`, `oklab(30 40 50 / 0.5)`);
- test_computed_value(`color`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))`, `oklab(30 40 50 / none)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))`, `oklab(0.5 0.6 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))`, `oklab(0.1 0.2 0.3)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))`, `oklab(0.3 0.4 0.7)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))`, `oklab(0.3 0.4 0.3)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))`, `oklab(0.5 0.2 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))`, `oklab(0.3 0.4 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))`, `oklab(0.3 0.4 0.5 / 0.5)`);
+ test_computed_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))`, `oklab(0.3 0.4 0.5 / none)`);
for (const colorSpace of [ "srgb", "srgb-linear", "xyz", "xyz-d50", "xyz-d65" ]) {
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-lab.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-lab.html
index 45a1f9a010b..c25e1253439 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-lab.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-lab.html
@@ -29,7 +29,7 @@ test_computed_value("color", "lab(0 0 0 / 1)", "lab(0 0 0)");
test_computed_value("color", "lab(0 0 0 / 0.5)", "lab(0 0 0 / 0.5)");
test_computed_value("color", "lab(20 0 10/0.5)", "lab(20 0 10 / 0.5)");
test_computed_value("color", "lab(20 0 10/50%)", "lab(20 0 10 / 0.5)");
-test_computed_value("color", "lab(400 0 10/50%)", "lab(400 0 10 / 0.5)");
+test_computed_value("color", "lab(400 0 10/50%)", "lab(100 0 10 / 0.5)");
test_computed_value("color", "lab(50 -160 160)", "lab(50 -160 160)");
test_computed_value("color", "lab(50 -200 200)", "lab(50 -200 200)");
test_computed_value("color", "lab(0 0 0 / -10%)", "lab(0 0 0 / 0)");
@@ -38,7 +38,7 @@ test_computed_value("color", "lab(0 0 0 / 300%)", "lab(0 0 0)");
test_computed_value("color", "lab(-40 0 0)", "lab(0 0 0)");
test_computed_value("color", "lab(50 -20 0)", "lab(50 -20 0)");
test_computed_value("color", "lab(50 0 -20)", "lab(50 0 -20)");
-test_computed_value("color", "lab(calc(50 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "lab(150 -0.5 1.5 / 0.5)");
+test_computed_value("color", "lab(calc(50 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "lab(100 -0.5 1.5 / 0.5)");
test_computed_value("color", "lab(calc(-50 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))", "lab(0 1.5 -1.5 / 0)");
test_computed_value("color", "lab(none none none / none)", "lab(none none none / none)");
@@ -51,29 +51,29 @@ test_computed_value("color", "lab(0 0 0 / none)", "lab(0 0 0 / none)");
test_computed_value("color", "oklab(0 0 0)", "oklab(0 0 0)");
test_computed_value("color", "oklab(0 0 0 / 1)", "oklab(0 0 0)");
test_computed_value("color", "oklab(0 0 0 / 0.5)", "oklab(0 0 0 / 0.5)");
-test_computed_value("color", "oklab(20 0 10/0.5)", "oklab(20 0 10 / 0.5)");
-test_computed_value("color", "oklab(20 0 10/50%)", "oklab(20 0 10 / 0.5)");
-test_computed_value("color", "oklab(400 0 10/50%)", "oklab(400 0 10 / 0.5)");
-test_computed_value("color", "oklab(50 -160 160)", "oklab(50 -160 160)");
-test_computed_value("color", "oklab(50 -200 200)", "oklab(50 -200 200)");
+test_computed_value("color", "oklab(0.2 0 0.1/0.5)", "oklab(0.2 0 0.1 / 0.5)");
+test_computed_value("color", "oklab(0.2 0 0.1/50%)", "oklab(0.2 0 0.1 / 0.5)");
+test_computed_value("color", "oklab(4 0 0.1/50%)", "oklab(1 0 0.1 / 0.5)");
+test_computed_value("color", "oklab(0.5 -1.6 1.6)", "oklab(0.5 -1.6 1.6)");
+test_computed_value("color", "oklab(0.5 -2 2)", "oklab(0.5 -2 2)");
test_computed_value("color", "oklab(0 0 0 / -10%)", "oklab(0 0 0 / 0)");
test_computed_value("color", "oklab(0 0 0 / 110%)", "oklab(0 0 0)");
test_computed_value("color", "oklab(0 0 0 / 300%)", "oklab(0 0 0)");
-test_computed_value("color", "oklab(-40 0 0)", "oklab(0 0 0)");
-test_computed_value("color", "oklab(50 -20 0)", "oklab(50 -20 0)");
-test_computed_value("color", "oklab(50 0 -20)", "oklab(50 0 -20)");
-test_computed_value("color", "oklab(calc(50 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "oklab(150 -0.5 1.5 / 0.5)");
-test_computed_value("color", "oklab(calc(-50 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))", "oklab(0 1.5 -1.5 / 0)");
+test_computed_value("color", "oklab(-0.4 0 0)", "oklab(0 0 0)");
+test_computed_value("color", "oklab(0.5 -0.2 0)", "oklab(0.5 -0.2 0)");
+test_computed_value("color", "oklab(0.5 0 -0.2)", "oklab(0.5 0 -0.2)");
+test_computed_value("color", "oklab(calc(0.5 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "oklab(1 -0.5 1.5 / 0.5)");
+test_computed_value("color", "oklab(calc(-0.5 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))", "oklab(0 1.5 -1.5 / 0)");
test_computed_value("color", "oklab(none none none / none)", "oklab(none none none / none)");
test_computed_value("color", "oklab(none none none)", "oklab(none none none)");
-test_computed_value("color", "oklab(20 none none / none)", "oklab(20 none none / none)");
+test_computed_value("color", "oklab(0.2 none none / none)", "oklab(0.2 none none / none)");
test_computed_value("color", "oklab(none none none / 0.5)", "oklab(none none none / 0.5)");
test_computed_value("color", "oklab(0 0 0 / none)", "oklab(0 0 0 / none)");
// These tests validate that lab lightness range is 0-100 and oklab lightness range is 0.0-1.0.
test_computed_value("color", "lab(20% 0 10/0.5)", "lab(20 0 10 / 0.5)");
-test_computed_value("color", "oklab(20% 0 10/0.5)", "oklab(0.2 0 10 / 0.5)");
+test_computed_value("color", "oklab(20% 0 0.1/0.5)", "oklab(0.2 0 0.1 / 0.5)");
// lch()
test_computed_value("color", "lch(0 0 0deg)", "lch(0 0 0)");
@@ -94,7 +94,7 @@ test_computed_value("color", "lch(20 -20 0)", "lch(20 0 0)");
test_computed_value("color", "lch(0 0 0 / 0.5)", "lch(0 0 0 / 0.5)");
test_computed_value("color", "lch(10 20 20 / 110%)", "lch(10 20 20)");
test_computed_value("color", "lch(10 20 -700)", "lch(10 20 20)");
-test_computed_value("color", "lch(calc(50 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "lch(150 0 40 / 0.5)");
+test_computed_value("color", "lch(calc(50 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "lch(100 0 40 / 0.5)");
test_computed_value("color", "lch(calc(-50 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))", "lch(0 1.5 320 / 0)");
test_computed_value("color", "lch(none none none / none)", "lch(none none none / none)");
@@ -107,27 +107,27 @@ test_computed_value("color", "lch(0 0 0 / none)", "lch(0 0 0 / none)");
test_computed_value("color", "oklch(0 0 0deg)", "oklch(0 0 0)");
test_computed_value("color", "oklch(0 0 0deg / 1)", "oklch(0 0 0)");
test_computed_value("color", "oklch(0 0 0deg / 0.5)", "oklch(0 0 0 / 0.5)");
-test_computed_value("color", "oklch(100 230 0deg / 0.5)", "oklch(100 230 0 / 0.5)");
-test_computed_value("color", "oklch(20 50 20deg/0.5)", "oklch(20 50 20 / 0.5)");
-test_computed_value("color", "oklch(20 50 20deg/50%)", "oklch(20 50 20 / 0.5)");
-test_computed_value("color", "oklch(10 20 20deg / -10%)", "oklch(10 20 20 / 0)");
-test_computed_value("color", "oklch(10 20 20deg / 110%)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(10 20 1.28rad)", "oklch(10 20 73.3386)");
-test_computed_value("color", "oklch(10 20 380deg)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(10 20 -340deg)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(10 20 740deg)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(10 20 -700deg)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(-40 0 0)", "oklch(0 0 0)");
-test_computed_value("color", "oklch(20 -20 0)", "oklch(20 0 0)");
+test_computed_value("color", "oklch(1 2.3 0deg / 0.5)", "oklch(1 2.3 0 / 0.5)");
+test_computed_value("color", "oklch(0.2 0.5 20deg/0.5)", "oklch(0.2 0.5 20 / 0.5)");
+test_computed_value("color", "oklch(0.2 0.5 20deg/50%)", "oklch(0.2 0.5 20 / 0.5)");
+test_computed_value("color", "oklch(0.1 0.2 20deg / -10%)", "oklch(0.1 0.2 20 / 0)");
+test_computed_value("color", "oklch(0.1 0.2 20deg / 110%)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(0.1 0.2 1.28rad)", "oklch(0.1 0.2 73.3386)");
+test_computed_value("color", "oklch(0.1 0.2 380deg)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(0.1 0.2 -340deg)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(0.1 0.2 740deg)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(0.1 0.2 -700deg)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(-0.4 0 0)", "oklch(0 0 0)");
+test_computed_value("color", "oklch(0.2 -0.2 0)", "oklch(0.2 0 0)");
test_computed_value("color", "oklch(0 0 0 / 0.5)", "oklch(0 0 0 / 0.5)");
-test_computed_value("color", "oklch(10 20 20 / 110%)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(10 20 -700)", "oklch(10 20 20)");
-test_computed_value("color", "oklch(calc(50 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "oklch(150 0 40 / 0.5)");
-test_computed_value("color", "oklch(calc(-50 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))", "oklch(0 1.5 320 / 0)");
+test_computed_value("color", "oklch(0.1 0.2 20 / 110%)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(0.1 0.2 -700)", "oklch(0.1 0.2 20)");
+test_computed_value("color", "oklch(calc(0.5 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "oklch(1 0 40 / 0.5)");
+test_computed_value("color", "oklch(calc(-0.5 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))", "oklch(0 1.5 320 / 0)");
test_computed_value("color", "oklch(none none none / none)", "oklch(none none none / none)");
test_computed_value("color", "oklch(none none none)", "oklch(none none none)");
-test_computed_value("color", "oklch(20 none none / none)", "oklch(20 none none / none)");
+test_computed_value("color", "oklch(0.2 none none / none)", "oklch(0.2 none none / none)");
test_computed_value("color", "oklch(none none none / 0.5)", "oklch(none none none / 0.5)");
test_computed_value("color", "oklch(0 0 0 / none)", "oklch(0 0 0 / none)");
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-relative-color.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-relative-color.html
index 0587d09bd74..44e0d8de780 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-relative-color.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-computed-relative-color.html
@@ -40,9 +40,9 @@
test_computed_value(`color`, `rgb(from lab(0 104.3 -50.9) r g b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_computed_value(`color`, `rgb(from lch(100 116 334) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_computed_value(`color`, `rgb(from lch(0 116 334) r g b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_computed_value(`color`, `rgb(from oklab(100 0.365 -0.16) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_computed_value(`color`, `rgb(from oklab(1 0.365 -0.16) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_computed_value(`color`, `rgb(from oklab(0 0.365 -0.16) r g b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_computed_value(`color`, `rgb(from oklch(100 0.399 336.3) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_computed_value(`color`, `rgb(from oklch(1 0.399 336.3) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_computed_value(`color`, `rgb(from oklch(0 0.399 336.3) r g b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
// Testing replacement with 0.
@@ -146,9 +146,9 @@
test_computed_value(`color`, `hsl(from lab(0 104.3 -50.9) h s l)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_computed_value(`color`, `hsl(from lch(100 116 334) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_computed_value(`color`, `hsl(from lch(0 116 334) h s l)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_computed_value(`color`, `hsl(from oklab(100 0.365 -0.16) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_computed_value(`color`, `hsl(from oklab(1 0.365 -0.16) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_computed_value(`color`, `hsl(from oklab(0 0.365 -0.16) h s l)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_computed_value(`color`, `hsl(from oklch(100 0.399 336.3) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_computed_value(`color`, `hsl(from oklch(1 0.399 336.3) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_computed_value(`color`, `hsl(from oklch(0 0.399 336.3) h s l)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
// Testing replacement with 0.
@@ -227,9 +227,9 @@
test_computed_value(`color`, `hwb(from lab(0 104.3 -50.9) h w b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_computed_value(`color`, `hwb(from lch(100 116 334) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_computed_value(`color`, `hwb(from lch(0 116 334) h w b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_computed_value(`color`, `hwb(from oklab(100 0.365 -0.16) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_computed_value(`color`, `hwb(from oklab(1 0.365 -0.16) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_computed_value(`color`, `hwb(from oklab(0 0.365 -0.16) h w b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_computed_value(`color`, `hwb(from oklch(100 0.399 336.3) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_computed_value(`color`, `hwb(from oklch(1 0.399 336.3) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_computed_value(`color`, `hwb(from oklch(0 0.399 336.3) h w b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
// Testing replacement with 0.
@@ -357,66 +357,65 @@
// oklab()
// Testing no modifications.
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a b)`, `oklab(25 20 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a b / alpha)`, `oklab(25 20 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / alpha)`, `oklab(25 20 50 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(200 300 400 / 500%) l a b / alpha)`, `oklab(200 300 400)`);
- test_computed_value(`color`, `oklab(from oklab(-200 -300 -400 / -500%) l a b / alpha)`, `oklab(0 -300 -400 / 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b)`, `oklab(0.25 0.2 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / alpha)`, `oklab(0.25 0.2 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / alpha)`, `oklab(0.25 0.2 0.5 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(2 3 4 / 500%) l a b / alpha)`, `oklab(1 3 4)`);
+ test_computed_value(`color`, `oklab(from oklab(-2 -3 -4 / -500%) l a b / alpha)`, `oklab(0 -3 -4 / 0)`);
// Test nesting relative colors.
- test_computed_value(`color`, `oklab(from oklab(from oklab(25 20 50) l a b) l a b)`, `oklab(25 20 50)`);
+ test_computed_value(`color`, `oklab(from oklab(from oklab(0.25 0.2 0.5) l a b) l a b)`, `oklab(0.25 0.2 0.5)`);
// Testing non-oklab origin to see conversion.
test_computed_value(`color`, `oklab(from color(display-p3 0 0 0) l a b / alpha)`, `oklab(0 0 0)`);
// Testing replacement with 0.
- test_computed_value(`color`, `oklab(from oklab(25 20 50) 0 0 0)`, `oklab(0 0 0)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) 0 0 0 / 0)`, `oklab(0 0 0 / 0)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) 0 a b / alpha)`, `oklab(0 20 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l 0 b / alpha)`, `oklab(25 0 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a 0 / alpha)`, `oklab(25 20 0)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a b / 0)`, `oklab(25 20 50 / 0)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) 0 a b / alpha)`, `oklab(0 20 50 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l 0 b / alpha)`, `oklab(25 0 50 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a 0 / alpha)`, `oklab(25 20 0 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / 0)`, `oklab(25 20 50 / 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0 0 0)`, `oklab(0 0 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0 0 0 / 0)`, `oklab(0 0 0 / 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0 a b / alpha)`, `oklab(0 0.2 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l 0 b / alpha)`, `oklab(0.25 0 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a 0 / alpha)`, `oklab(0.25 0.2 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / 0)`, `oklab(0.25 0.2 0.5 / 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) 0 a b / alpha)`, `oklab(0 0.2 0.5 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l 0 b / alpha)`, `oklab(0.25 0 0.5 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0 / alpha)`, `oklab(0.25 0.2 0 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / 0)`, `oklab(0.25 0.2 0.5 / 0)`);
// Testing replacement with a constant.
- test_computed_value(`color`, `oklab(from oklab(25 20 50) 35 a b / alpha)`, `oklab(35 20 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l 35 b / alpha)`, `oklab(25 35 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a 35 / alpha)`, `oklab(25 20 35)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a b / .35)`, `oklab(25 20 50 / 0.35)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) 35 a b / alpha)`, `oklab(35 20 50 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l 35 b / alpha)`, `oklab(25 35 50 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a 35 / alpha)`, `oklab(25 20 35 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / .35)`, `oklab(25 20 50 / 0.35)`);
- test_computed_value(`color`, `oklab(from oklab(0.7 45 30 / 40%) 200 300 400 / 500)`, `oklab(200 300 400)`);
- test_computed_value(`color`, `oklab(from oklab(0.7 45 30 / 40%) -200 -300 -400 / -500)`, `oklab(0 -300 -400 / 0)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0.35 a b / alpha)`, `oklab(0.35 0.2 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l 0.35 b / alpha)`, `oklab(0.25 0.35 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a 0.35 / alpha)`, `oklab(0.25 0.2 0.35)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / .35)`, `oklab(0.25 0.2 0.5 / 0.35)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) 0.35 a b / alpha)`, `oklab(0.35 0.2 0.5 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l 0.35 b / alpha)`, `oklab(0.25 0.35 0.5 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0.35 / alpha)`, `oklab(0.25 0.2 0.35 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / .35)`, `oklab(0.25 0.2 0.5 / 0.35)`);
+ test_computed_value(`color`, `oklab(from oklab(0.7 0.45 0.3 / 40%) 2 3 4 / 500)`, `oklab(1 3 4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.7 0.45 0.3 / 40%) -2 -3 -4 / -500)`, `oklab(0 -3 -4 / 0)`);
// Testing valid permutation (types match).
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l b a)`, `oklab(25 50 20)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a a / a)`, `oklab(25 20 20)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l b a)`, `oklab(25 50 20)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a a / a)`, `oklab(25 20 20)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l b a)`, `oklab(0.25 0.5 0.2)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a a / a)`, `oklab(0.25 0.2 0.2 / 0.2)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l b a)`, `oklab(0.25 0.5 0.2)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a a / a)`, `oklab(0.25 0.2 0.2 / 0.2)`);
// Testing with calc().
- test_computed_value(`color`, `oklab(from oklab(25 20 50) calc(l) calc(a) calc(b))`, `oklab(25 20 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) calc(l) calc(a) calc(b) / calc(alpha))`, `oklab(25 20 50 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))`, `oklab(0.25 0.2 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))`, `oklab(0.25 0.2 0.5 / 0.4)`);
// Testing with 'none'.
- test_computed_value(`color`, `oklab(from oklab(25 20 50) none none none)`, `oklab(none none none)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) none none none / none)`, `oklab(none none none / none)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a none)`, `oklab(25 20 none)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a none / alpha)`, `oklab(25 20 none)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50) l a b / none)`, `oklab(25 20 50 / none)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a none / alpha)`, `oklab(25 20 none / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / none)`, `oklab(25 20 50 / none)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) none none none)`, `oklab(none none none)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) none none none / none)`, `oklab(none none none / none)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a none)`, `oklab(0.25 0.2 none)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a none / alpha)`, `oklab(0.25 0.2 none)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / none)`, `oklab(0.25 0.2 0.5 / none)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a none / alpha)`, `oklab(0.25 0.2 none / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / none)`, `oklab(0.25 0.2 0.5 / none)`);
// FIXME: Clarify with spec editors if 'none' should pass through to the constants.
test_computed_value(`color`, `oklab(from oklab(none none none) l a b)`, `oklab(0 0 0)`);
test_computed_value(`color`, `oklab(from oklab(none none none / none) l a b / alpha)`, `oklab(0 0 0 / 0)`);
- test_computed_value(`color`, `oklab(from oklab(25 none 50) l a b)`, `oklab(25 0 50)`);
- test_computed_value(`color`, `oklab(from oklab(25 20 50 / none) l a b / alpha)`, `oklab(25 20 50 / 0)`);
-
+ test_computed_value(`color`, `oklab(from oklab(0.25 none 0.5) l a b)`, `oklab(0.25 0 0.5)`);
+ test_computed_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / none) l a b / alpha)`, `oklab(0.25 0.2 0.5 / 0)`);
// lab and oklab tests that require different results due to percent scaling differences.
test_computed_value(`color`, `lab(from lab(.7 45 30) alpha b a / l)`, `lab(100 30 45 / 0.7)`);
@@ -426,12 +425,12 @@
test_computed_value(`color`, `lab(from lab(.7 45 30 / 40%) alpha a b / alpha)`, `lab(40 45 30 / 0.4)`);
test_computed_value(`color`, `lab(from lab(.7 45 30 / 40%) alpha a a / alpha)`, `lab(40 45 45 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(.7 45 30) alpha b a / l)`, `oklab(1 30 45 / 0.7)`);
- test_computed_value(`color`, `oklab(from oklab(.7 45 30) alpha a b / alpha)`, `oklab(1 45 30)`);
- test_computed_value(`color`, `oklab(from oklab(.7 45 30) alpha a a / alpha)`, `oklab(1 45 45)`);
- test_computed_value(`color`, `oklab(from oklab(.7 45 30 / 40%) alpha b a / l)`, `oklab(0.4 30 45 / 0.7)`);
- test_computed_value(`color`, `oklab(from oklab(.7 45 30 / 40%) alpha a b / alpha)`, `oklab(0.4 45 30 / 0.4)`);
- test_computed_value(`color`, `oklab(from oklab(.7 45 30 / 40%) alpha a a / alpha)`, `oklab(0.4 45 45 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(.7 0.45 0.3) alpha b a / l)`, `oklab(1 0.3 0.45 / 0.7)`);
+ test_computed_value(`color`, `oklab(from oklab(.7 0.45 0.3) alpha a b / alpha)`, `oklab(1 0.45 0.3)`);
+ test_computed_value(`color`, `oklab(from oklab(.7 0.45 0.3) alpha a a / alpha)`, `oklab(1 0.45 0.45)`);
+ test_computed_value(`color`, `oklab(from oklab(.7 0.45 0.3 / 40%) alpha b a / l)`, `oklab(0.4 0.3 0.45 / 0.7)`);
+ test_computed_value(`color`, `oklab(from oklab(.7 0.45 0.3 / 40%) alpha a b / alpha)`, `oklab(0.4 0.45 0.3 / 0.4)`);
+ test_computed_value(`color`, `oklab(from oklab(.7 0.45 0.3 / 40%) alpha a a / alpha)`, `oklab(0.4 0.45 0.45 / 0.4)`);
// lch()
@@ -507,73 +506,74 @@
// oklch()
// Testing no modifications.
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c h)`, `oklch(0.7 45 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c h / alpha)`, `oklch(0.7 45 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / alpha)`, `oklch(0.7 45 30 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(200 300 400 / 500%) l c h / alpha)`, `oklch(200 300 40)`);
- test_computed_value(`color`, `oklch(from oklch(-200 -300 -400 / -500%) l c h / alpha)`, `oklch(0 0 320 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h)`, `oklch(0.7 0.45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / alpha)`, `oklch(0.7 0.45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / alpha)`, `oklch(0.7 0.45 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(2 3 400 / 500%) l c h / alpha)`, `oklch(1 3 40)`);
+ test_computed_value(`color`, `oklch(from oklch(-2 -3 -400 / -500%) l c h / alpha)`, `oklch(0 0 320 / 0)`);
// Test nesting relative colors.
- test_computed_value(`color`, `oklch(from oklch(from oklch(0.7 45 30) l c h) l c h)`, `oklch(0.7 45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(from oklch(0.7 0.45 30) l c h) l c h)`, `oklch(0.7 0.45 30)`);
// Testing non-sRGB origin colors (no gamut mapping will happen since the destination is not a bounded RGB color space).
test_computed_value(`color`, `oklch(from color(display-p3 0 0 0) l c h / alpha)`, `oklch(0 0 0)`);
+ // TODO: redo conversion with oklab(0.7 0.45 0.3)
test_computed_value(`color`, `oklch(from oklab(0.7 45 30) l c h / alpha)`, `oklch(0.7 54.08327 33.690067)`);
// Testing replacement with 0.
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0)`, `oklch(0 0 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0deg)`, `oklch(0 0 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0 / 0)`, `oklch(0 0 0 / 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0deg / 0)`, `oklch(0 0 0 / 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) 0 c h / alpha)`, `oklch(0 45 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l 0 h / alpha)`, `oklch(0.7 0 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c 0 / alpha)`, `oklch(0.7 45 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c 0deg / alpha)`, `oklch(0.7 45 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c h / 0)`, `oklch(0.7 45 30 / 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 0 c h / alpha)`, `oklch(0 45 30 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l 0 h / alpha)`, `oklch(0.7 0 30 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 0 / alpha)`, `oklch(0.7 45 0 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 0deg / alpha)`, `oklch(0.7 45 0 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / 0)`, `oklch(0.7 45 30 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0)`, `oklch(0 0 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0deg)`, `oklch(0 0 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0 / 0)`, `oklch(0 0 0 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0deg / 0)`, `oklch(0 0 0 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 c h / alpha)`, `oklch(0 0.45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l 0 h / alpha)`, `oklch(0.7 0 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 0 / alpha)`, `oklch(0.7 0.45 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 0deg / alpha)`, `oklch(0.7 0.45 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / 0)`, `oklch(0.7 0.45 30 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0 c h / alpha)`, `oklch(0 0.45 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l 0 h / alpha)`, `oklch(0.7 0 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 0 / alpha)`, `oklch(0.7 0.45 0 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 0deg / alpha)`, `oklch(0.7 0.45 0 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / 0)`, `oklch(0.7 0.45 30 / 0)`);
// Testing replacement with a constant.
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) 25 c h / alpha)`, `oklch(25 45 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l 25 h / alpha)`, `oklch(0.7 25 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c 25 / alpha)`, `oklch(0.7 45 25)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c 25deg / alpha)`, `oklch(0.7 45 25)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c h / .25)`, `oklch(0.7 45 30 / 0.25)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 25 c h / alpha)`, `oklch(25 45 30 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l 25 h / alpha)`, `oklch(0.7 25 30 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 25 / alpha)`, `oklch(0.7 45 25 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 25deg / alpha)`, `oklch(0.7 45 25 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / .25)`, `oklch(0.7 45 30 / 0.25)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 200 300 400 / 500)`, `oklch(200 300 40)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) -200 -300 -400 / -500)`, `oklch(0 0 320 / 0)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 50 120 400deg / 500)`, `oklch(50 120 40)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 50 120 -400deg / -500)`, `oklch(50 120 320 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) 0.25 c h / alpha)`, `oklch(0.25 0.45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l 0.25 h / alpha)`, `oklch(0.7 0.25 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 25 / alpha)`, `oklch(0.7 0.45 25)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 25deg / alpha)`, `oklch(0.7 0.45 25)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / .25)`, `oklch(0.7 0.45 30 / 0.25)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0.25 c h / alpha)`, `oklch(0.25 0.45 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l 0.25 h / alpha)`, `oklch(0.7 0.25 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 25 / alpha)`, `oklch(0.7 0.45 25 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 25deg / alpha)`, `oklch(0.7 0.45 25 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / .25)`, `oklch(0.7 0.45 30 / 0.25)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 2 3 400 / 500)`, `oklch(1 3 40)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) -2 -3 -400 / -500)`, `oklch(0 0 320 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 400deg / 500)`, `oklch(0.5 1.2 40)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 -400deg / -500)`, `oklch(0.5 1.2 320 / 0)`);
// Testing valid permutation (types match).
// NOTE: 'c' is a vaild hue, as hue is <angle>|<number>.
- test_computed_value(`color`, `oklch(from oklch(.7 45 30) l c c / alpha)`, `oklch(0.7 45 45)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30 / 40%) l c c / alpha)`, `oklch(0.7 45 45 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30) l c c / alpha)`, `oklch(0.7 0.45 0.45)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) l c c / alpha)`, `oklch(0.7 0.45 0.45 / 0.4)`);
// Testing with calc().
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) calc(l) calc(c) calc(h))`, `oklch(0.7 45 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))`, `oklch(0.7 45 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))`, `oklch(0.7 0.45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))`, `oklch(0.7 0.45 30 / 0.4)`);
// Testing with 'none'.
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) none none none)`, `oklch(none none none)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) none none none / none)`, `oklch(none none none / none)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c none)`, `oklch(0.7 45 none)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c none / alpha)`, `oklch(0.7 45 none)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30) l c h / none)`, `oklch(0.7 45 30 / none)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c none / alpha)`, `oklch(0.7 45 none / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / none)`, `oklch(0.7 45 30 / none)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) none none none)`, `oklch(none none none)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) none none none / none)`, `oklch(none none none / none)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c none)`, `oklch(0.7 0.45 none)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c none / alpha)`, `oklch(0.7 0.45 none)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / none)`, `oklch(0.7 0.45 30 / none)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c none / alpha)`, `oklch(0.7 0.45 none / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / none)`, `oklch(0.7 0.45 30 / none)`);
// FIXME: Clarify with spec editors if 'none' should pass through to the constants.
test_computed_value(`color`, `oklch(from oklch(none none none) l c h)`, `oklch(0 0 0)`);
test_computed_value(`color`, `oklch(from oklch(none none none / none) l c h / alpha)`, `oklch(0 0 0 / 0)`);
test_computed_value(`color`, `oklch(from oklch(0.7 none 30) l c h)`, `oklch(0.7 0 30)`);
- test_computed_value(`color`, `oklch(from oklch(0.7 45 30 / none) l c h / alpha)`, `oklch(0.7 45 30 / 0)`);
+ test_computed_value(`color`, `oklch(from oklch(0.7 0.45 30 / none) l c h / alpha)`, `oklch(0.7 0.45 30 / 0)`);
// lch and oklch tests that require different results due to percent scaling differences.
test_computed_value(`color`, `lch(from lch(.7 45 30) alpha c h / l)`, `lch(100 45 30 / 0.7)`);
@@ -583,12 +583,12 @@
test_computed_value(`color`, `lch(from lch(.7 45 30 / 40%) alpha c h / alpha)`, `lch(40 45 30 / 0.4)`);
test_computed_value(`color`, `lch(from lch(.7 45 30 / 40%) alpha c c / alpha)`, `lch(40 45 45 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30) alpha c h / l)`, `oklch(1 45 30 / 0.7)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30) alpha c h / alpha)`, `oklch(1 45 30)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30) alpha c c / alpha)`, `oklch(1 45 45)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30 / 40%) alpha c h / l)`, `oklch(0.4 45 30 / 0.7)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30 / 40%) alpha c h / alpha)`, `oklch(0.4 45 30 / 0.4)`);
- test_computed_value(`color`, `oklch(from oklch(.7 45 30 / 40%) alpha c c / alpha)`, `oklch(0.4 45 45 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30) alpha c h / l)`, `oklch(1 0.45 30 / 0.7)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30) alpha c h / alpha)`, `oklch(1 0.45 30)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30) alpha c c / alpha)`, `oklch(1 0.45 0.45)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) alpha c h / l)`, `oklch(0.4 0.45 30 / 0.7)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) alpha c h / alpha)`, `oklch(0.4 0.45 30 / 0.4)`);
+ test_computed_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)`, `oklch(0.4 0.45 0.45 / 0.4)`);
for (const colorSpace of [ "srgb", "srgb-linear", "a98-rgb", "rec2020", "prophoto-rgb", "display-p3" ]) {
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function.html
index cc23659caa5..6e5a129fa0a 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-color-mix-function.html
@@ -95,9 +95,9 @@
test_valid_value(`color`, `color-mix(in hsl, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hsl, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hsl, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)`);
- test_valid_value(`color`, `color-mix(in hsl, oklab(100 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, oklab(100 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`);
+ test_valid_value(`color`, `color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hsl, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`);
- test_valid_value(`color`, `color-mix(in hsl, oklch(100 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, oklch(100 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`);
+ test_valid_value(`color`, `color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hwb, hwb(120deg 10% 20%), hwb(30deg 30% 40%))`, `color-mix(in hwb, rgb(26, 204, 26), rgb(153, 115, 77))`);
@@ -170,9 +170,9 @@
test_valid_value(`color`, `color-mix(in hwb, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hwb, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hwb, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)`);
- test_valid_value(`color`, `color-mix(in hwb, oklab(100 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, oklab(100 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`);
+ test_valid_value(`color`, `color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hwb, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`);
- test_valid_value(`color`, `color-mix(in hwb, oklch(100 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, oklch(100 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`);
+ test_valid_value(`color`, `color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`);
test_valid_value(`color`, `color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`);
// lch()
@@ -242,70 +242,70 @@
test_valid_value(`color`, `color-mix(in lch, lch(10 20 30deg / none), lch(50 60 70deg / none))`, `color-mix(in lch, lch(10 20 30 / none), lch(50 60 70 / none))`);
// oklch()
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 30), oklch(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 25%, oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 30) 25%, oklch(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklch, 25% oklch(10 20 30deg), oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 30) 25%, oklch(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), 25% oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 30), oklch(50 60 70) 25%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(50 60 70deg) 25%)`, `color-mix(in oklch, oklch(10 20 30), oklch(50 60 70) 25%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 25%, oklch(50 60 70deg) 75%)`, `color-mix(in oklch, oklch(10 20 30) 25%, oklch(50 60 70) 75%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 30%, oklch(50 60 70deg) 90%)`, `color-mix(in oklch, oklch(10 20 30) 30%, oklch(50 60 70) 90%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 12.5%, oklch(50 60 70deg) 37.5%)`, `color-mix(in oklch, oklch(10 20 30) 12.5%, oklch(50 60 70) 37.5%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg) 0%, oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 30) 0%, oklch(50 60 70))`);
-
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4), oklch(50 60 70deg / .8))`, `color-mix(in oklch, oklch(10 20 30 / 0.4), oklch(50 60 70 / 0.8))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 25%, oklch(50 60 70deg / .8))`, `color-mix(in oklch, oklch(10 20 30 / 0.4) 25%, oklch(50 60 70 / 0.8))`);
- test_valid_value(`color`, `color-mix(in oklch, 25% oklch(10 20 30deg / .4), oklch(50 60 70deg / .8))`, `color-mix(in oklch, oklch(10 20 30 / 0.4) 25%, oklch(50 60 70 / 0.8))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4), 25% oklch(50 60 70deg / .8))`, `color-mix(in oklch, oklch(10 20 30 / 0.4), oklch(50 60 70 / 0.8) 25%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4), oklch(50 60 70deg / .8) 25%)`, `color-mix(in oklch, oklch(10 20 30 / 0.4), oklch(50 60 70 / 0.8) 25%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 25%, oklch(50 60 70deg / .8) 75%)`, `color-mix(in oklch, oklch(10 20 30 / 0.4) 25%, oklch(50 60 70 / 0.8) 75%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 30%, oklch(50 60 70deg / .8) 90%)`, `color-mix(in oklch, oklch(10 20 30 / 0.4) 30%, oklch(50 60 70 / 0.8) 90%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 12.5%, oklch(50 60 70deg / .8) 37.5%)`, `color-mix(in oklch, oklch(10 20 30 / 0.4) 12.5%, oklch(50 60 70 / 0.8) 37.5%)`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / .4) 0%, oklch(50 60 70deg / .8))`, `color-mix(in oklch, oklch(10 20 30 / 0.4) 0%, oklch(50 60 70 / 0.8))`);
-
- test_valid_value(`color`, `color-mix(in oklch, oklch(100 0 40deg), oklch(100 0 60deg))`, `color-mix(in oklch, oklch(100 0 40), oklch(100 0 60))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(100 0 60deg), oklch(100 0 40deg))`, `color-mix(in oklch, oklch(100 0 60), oklch(100 0 40))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(100 0 50deg), oklch(100 0 330deg))`, `color-mix(in oklch, oklch(100 0 50), oklch(100 0 330))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(100 0 330deg), oklch(100 0 50deg))`, `color-mix(in oklch, oklch(100 0 330), oklch(100 0 50))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(100 0 20deg), oklch(100 0 320deg))`, `color-mix(in oklch, oklch(100 0 20), oklch(100 0 320))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(100 0 320deg), oklch(100 0 20deg))`, `color-mix(in oklch, oklch(100 0 320), oklch(100 0 20))`);
-
- test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `color-mix(in oklch, oklch(100 0 40), oklch(100 0 60))`);
- test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `color-mix(in oklch, oklch(100 0 60), oklch(100 0 40))`);
- test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `color-mix(in oklch, oklch(100 0 50), oklch(100 0 330))`);
- test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `color-mix(in oklch, oklch(100 0 330), oklch(100 0 50))`);
- test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `color-mix(in oklch, oklch(100 0 20), oklch(100 0 320))`);
- test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `color-mix(in oklch, oklch(100 0 320), oklch(100 0 20))`);
-
- test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `color-mix(in oklch longer hue, oklch(100 0 40), oklch(100 0 60))`);
- test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `color-mix(in oklch longer hue, oklch(100 0 60), oklch(100 0 40))`);
- test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `color-mix(in oklch longer hue, oklch(100 0 50), oklch(100 0 330))`);
- test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `color-mix(in oklch longer hue, oklch(100 0 330), oklch(100 0 50))`);
- test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `color-mix(in oklch longer hue, oklch(100 0 20), oklch(100 0 320))`);
- test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `color-mix(in oklch longer hue, oklch(100 0 320), oklch(100 0 20))`);
-
- test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `color-mix(in oklch increasing hue, oklch(100 0 40), oklch(100 0 60))`);
- test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `color-mix(in oklch increasing hue, oklch(100 0 60), oklch(100 0 40))`);
- test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `color-mix(in oklch increasing hue, oklch(100 0 50), oklch(100 0 330))`);
- test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `color-mix(in oklch increasing hue, oklch(100 0 330), oklch(100 0 50))`);
- test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `color-mix(in oklch increasing hue, oklch(100 0 20), oklch(100 0 320))`);
- test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `color-mix(in oklch increasing hue, oklch(100 0 320), oklch(100 0 20))`);
-
- test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 40deg), oklch(100 0 60deg))`, `color-mix(in oklch decreasing hue, oklch(100 0 40), oklch(100 0 60))`);
- test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 60deg), oklch(100 0 40deg))`, `color-mix(in oklch decreasing hue, oklch(100 0 60), oklch(100 0 40))`);
- test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 50deg), oklch(100 0 330deg))`, `color-mix(in oklch decreasing hue, oklch(100 0 50), oklch(100 0 330))`);
- test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 330deg), oklch(100 0 50deg))`, `color-mix(in oklch decreasing hue, oklch(100 0 330), oklch(100 0 50))`);
- test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 20deg), oklch(100 0 320deg))`, `color-mix(in oklch decreasing hue, oklch(100 0 20), oklch(100 0 320))`);
- test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(100 0 320deg), oklch(100 0 20deg))`, `color-mix(in oklch decreasing hue, oklch(100 0 320), oklch(100 0 20))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 30), oklch(0.5 0.6 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 30) 25%, oklch(0.5 0.6 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, 25% oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 30) 25%, oklch(0.5 0.6 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), 25% oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 30), oklch(0.5 0.6 70) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 70deg) 25%)`, `color-mix(in oklch, oklch(0.1 0.2 30), oklch(0.5 0.6 70) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 25%, oklch(0.5 0.6 70deg) 75%)`, `color-mix(in oklch, oklch(0.1 0.2 30) 25%, oklch(0.5 0.6 70) 75%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 30%, oklch(0.5 0.6 70deg) 90%)`, `color-mix(in oklch, oklch(0.1 0.2 30) 30%, oklch(0.5 0.6 70) 90%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 12.5%, oklch(0.5 0.6 70deg) 37.5%)`, `color-mix(in oklch, oklch(0.1 0.2 30) 12.5%, oklch(0.5 0.6 70) 37.5%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg) 0%, oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 30) 0%, oklch(0.5 0.6 70))`);
+
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4), oklch(0.5 0.6 70 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8))`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4) 25%, oklch(0.5 0.6 70 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklch, 25% oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8))`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4) 25%, oklch(0.5 0.6 70 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4), 25% oklch(0.5 0.6 70deg / .8))`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4), oklch(0.5 0.6 70 / 0.8) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4), oklch(0.5 0.6 70deg / .8) 25%)`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4), oklch(0.5 0.6 70 / 0.8) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 25%, oklch(0.5 0.6 70deg / .8) 75%)`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4) 25%, oklch(0.5 0.6 70 / 0.8) 75%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 30%, oklch(0.5 0.6 70deg / .8) 90%)`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4) 30%, oklch(0.5 0.6 70 / 0.8) 90%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 12.5%, oklch(0.5 0.6 70deg / .8) 37.5%)`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4) 12.5%, oklch(0.5 0.6 70 / 0.8) 37.5%)`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / .4) 0%, oklch(0.5 0.6 70deg / .8))`, `color-mix(in oklch, oklch(0.1 0.2 30 / 0.4) 0%, oklch(0.5 0.6 70 / 0.8))`);
+
+ test_valid_value(`color`, `color-mix(in oklch, oklch(1 0 40deg), oklch(1 0 60deg))`, `color-mix(in oklch, oklch(1 0 40), oklch(1 0 60))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(1 0 60deg), oklch(1 0 40deg))`, `color-mix(in oklch, oklch(1 0 60), oklch(1 0 40))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(1 0 50deg), oklch(1 0 330deg))`, `color-mix(in oklch, oklch(1 0 50), oklch(1 0 330))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(1 0 330deg), oklch(1 0 50deg))`, `color-mix(in oklch, oklch(1 0 330), oklch(1 0 50))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(1 0 20deg), oklch(1 0 320deg))`, `color-mix(in oklch, oklch(1 0 20), oklch(1 0 320))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(1 0 320deg), oklch(1 0 20deg))`, `color-mix(in oklch, oklch(1 0 320), oklch(1 0 20))`);
+
+ test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `color-mix(in oklch, oklch(1 0 40), oklch(1 0 60))`);
+ test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `color-mix(in oklch, oklch(1 0 60), oklch(1 0 40))`);
+ test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `color-mix(in oklch, oklch(1 0 50), oklch(1 0 330))`);
+ test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `color-mix(in oklch, oklch(1 0 330), oklch(1 0 50))`);
+ test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `color-mix(in oklch, oklch(1 0 20), oklch(1 0 320))`);
+ test_valid_value(`color`, `color-mix(in oklch shorter hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `color-mix(in oklch, oklch(1 0 320), oklch(1 0 20))`);
+
+ test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `color-mix(in oklch longer hue, oklch(1 0 40), oklch(1 0 60))`);
+ test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `color-mix(in oklch longer hue, oklch(1 0 60), oklch(1 0 40))`);
+ test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `color-mix(in oklch longer hue, oklch(1 0 50), oklch(1 0 330))`);
+ test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `color-mix(in oklch longer hue, oklch(1 0 330), oklch(1 0 50))`);
+ test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `color-mix(in oklch longer hue, oklch(1 0 20), oklch(1 0 320))`);
+ test_valid_value(`color`, `color-mix(in oklch longer hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `color-mix(in oklch longer hue, oklch(1 0 320), oklch(1 0 20))`);
+
+ test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `color-mix(in oklch increasing hue, oklch(1 0 40), oklch(1 0 60))`);
+ test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `color-mix(in oklch increasing hue, oklch(1 0 60), oklch(1 0 40))`);
+ test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `color-mix(in oklch increasing hue, oklch(1 0 50), oklch(1 0 330))`);
+ test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `color-mix(in oklch increasing hue, oklch(1 0 330), oklch(1 0 50))`);
+ test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `color-mix(in oklch increasing hue, oklch(1 0 20), oklch(1 0 320))`);
+ test_valid_value(`color`, `color-mix(in oklch increasing hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `color-mix(in oklch increasing hue, oklch(1 0 320), oklch(1 0 20))`);
+
+ test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 40deg), oklch(1 0 60deg))`, `color-mix(in oklch decreasing hue, oklch(1 0 40), oklch(1 0 60))`);
+ test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 60deg), oklch(1 0 40deg))`, `color-mix(in oklch decreasing hue, oklch(1 0 60), oklch(1 0 40))`);
+ test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 50deg), oklch(1 0 330deg))`, `color-mix(in oklch decreasing hue, oklch(1 0 50), oklch(1 0 330))`);
+ test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 330deg), oklch(1 0 50deg))`, `color-mix(in oklch decreasing hue, oklch(1 0 330), oklch(1 0 50))`);
+ test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 20deg), oklch(1 0 320deg))`, `color-mix(in oklch decreasing hue, oklch(1 0 20), oklch(1 0 320))`);
+ test_valid_value(`color`, `color-mix(in oklch decreasing hue, oklch(1 0 320deg), oklch(1 0 20deg))`, `color-mix(in oklch decreasing hue, oklch(1 0 320), oklch(1 0 20))`);
test_valid_value(`color`, `color-mix(in oklch, oklch(none none none), oklch(none none none))`, `color-mix(in oklch, oklch(none none none), oklch(none none none))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(none none none), oklch(50 60 70deg))`, `color-mix(in oklch, oklch(none none none), oklch(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(none none none))`, `color-mix(in oklch, oklch(10 20 30), oklch(none none none))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 none), oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 none), oklch(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg), oklch(50 60 none))`, `color-mix(in oklch, oklch(10 20 30), oklch(50 60 none))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(none 20 30deg), oklch(50 none 70deg))`, `color-mix(in oklch, oklch(none 20 30), oklch(50 none 70))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / none), oklch(50 60 70deg))`, `color-mix(in oklch, oklch(10 20 30 / none), oklch(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / none), oklch(50 60 70deg / 0.5))`, `color-mix(in oklch, oklch(10 20 30 / none), oklch(50 60 70 / 0.5))`);
- test_valid_value(`color`, `color-mix(in oklch, oklch(10 20 30deg / none), oklch(50 60 70deg / none))`, `color-mix(in oklch, oklch(10 20 30 / none), oklch(50 60 70 / none))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(none none none), oklch(0.5 0.6 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(none none none))`, `color-mix(in oklch, oklch(0.1 0.2 30), oklch(none none none))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 none), oklch(0.5 0.6 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg), oklch(0.5 0.6 none))`, `color-mix(in oklch, oklch(0.1 0.2 30), oklch(0.5 0.6 none))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(none 0.2 30deg), oklch(0.5 none 70deg))`, `color-mix(in oklch, oklch(none 0.2 30), oklch(0.5 none 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg))`, `color-mix(in oklch, oklch(0.1 0.2 30 / none), oklch(0.5 0.6 70))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / 0.5))`, `color-mix(in oklch, oklch(0.1 0.2 30 / none), oklch(0.5 0.6 70 / 0.5))`);
+ test_valid_value(`color`, `color-mix(in oklch, oklch(0.1 0.2 30deg / none), oklch(0.5 0.6 70deg / none))`, `color-mix(in oklch, oklch(0.1 0.2 30 / none), oklch(0.5 0.6 70 / none))`);
// lab()
test_valid_value(`color`, `color-mix(in lab, lab(10 20 30), lab(50 60 70))`, `color-mix(in lab, lab(10 20 30), lab(50 60 70))`);
@@ -339,35 +339,35 @@
test_valid_value(`color`, `color-mix(in lab, lab(10 20 30 / none), lab(50 60 70 / none))`, `color-mix(in lab, lab(10 20 30 / none), lab(50 60 70 / none))`);
// oklab()
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklab, 25% oklab(10 20 30), oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30), 25% oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70) 25%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70) 25%)`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 70) 25%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70) 75%)`, `color-mix(in oklab, oklab(10 20 30) 25%, oklab(50 60 70) 75%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30) 30%, oklab(50 60 70) 90%)`, `color-mix(in oklab, oklab(10 20 30) 30%, oklab(50 60 70) 90%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30) 12.5%, oklab(50 60 70) 37.5%)`, `color-mix(in oklab, oklab(10 20 30) 12.5%, oklab(50 60 70) 37.5%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30) 0%, oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 30) 0%, oklab(50 60 70))`);
-
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4), oklab(50 60 70 / .8))`, `color-mix(in oklab, oklab(10 20 30 / 0.4), oklab(50 60 70 / 0.8))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 25%, oklab(50 60 70 / .8))`, `color-mix(in oklab, oklab(10 20 30 / 0.4) 25%, oklab(50 60 70 / 0.8))`);
- test_valid_value(`color`, `color-mix(in oklab, 25% oklab(10 20 30 / .4), oklab(50 60 70 / .8))`, `color-mix(in oklab, oklab(10 20 30 / 0.4) 25%, oklab(50 60 70 / 0.8))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4), 25% oklab(50 60 70 / .8))`, `color-mix(in oklab, oklab(10 20 30 / 0.4), oklab(50 60 70 / 0.8) 25%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4), oklab(50 60 70 / .8) 25%)`, `color-mix(in oklab, oklab(10 20 30 / 0.4), oklab(50 60 70 / 0.8) 25%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 25%, oklab(50 60 70 / .8) 75%)`, `color-mix(in oklab, oklab(10 20 30 / 0.4) 25%, oklab(50 60 70 / 0.8) 75%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 30%, oklab(50 60 70 / .8) 90%)`, `color-mix(in oklab, oklab(10 20 30 / 0.4) 30%, oklab(50 60 70 / 0.8) 90%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 12.5%, oklab(50 60 70 / .8) 37.5%)`, `color-mix(in oklab, oklab(10 20 30 / 0.4) 12.5%, oklab(50 60 70 / 0.8) 37.5%)`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / .4) 0%, oklab(50 60 70 / .8))`, `color-mix(in oklab, oklab(10 20 30 / 0.4) 0%, oklab(50 60 70 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, 25% oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), 25% oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 0.7) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 25%, oklab(0.5 0.6 0.7) 75%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 30%, oklab(0.5 0.6 0.7) 90%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 12.5%, oklab(0.5 0.6 0.7) 37.5%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 0.3) 0%, oklab(0.5 0.6 0.7))`);
+
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4), oklab(0.5 0.6 0.7 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4) 25%, oklab(0.5 0.6 0.7 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklab, 25% oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4) 25%, oklab(0.5 0.6 0.7 / 0.8))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), 25% oklab(0.5 0.6 0.7 / .8))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4), oklab(0.5 0.6 0.7 / 0.8) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4), oklab(0.5 0.6 0.7 / .8) 25%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4), oklab(0.5 0.6 0.7 / 0.8) 25%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 25%, oklab(0.5 0.6 0.7 / .8) 75%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4) 25%, oklab(0.5 0.6 0.7 / 0.8) 75%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 30%, oklab(0.5 0.6 0.7 / .8) 90%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4) 30%, oklab(0.5 0.6 0.7 / 0.8) 90%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 12.5%, oklab(0.5 0.6 0.7 / .8) 37.5%)`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4) 12.5%, oklab(0.5 0.6 0.7 / 0.8) 37.5%)`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / .4) 0%, oklab(0.5 0.6 0.7 / .8))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / 0.4) 0%, oklab(0.5 0.6 0.7 / 0.8))`);
test_valid_value(`color`, `color-mix(in oklab, oklab(none none none), oklab(none none none))`, `color-mix(in oklab, oklab(none none none), oklab(none none none))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(none none none), oklab(50 60 70))`, `color-mix(in oklab, oklab(none none none), oklab(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(none none none))`, `color-mix(in oklab, oklab(10 20 30), oklab(none none none))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 none), oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 none), oklab(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 none))`, `color-mix(in oklab, oklab(10 20 30), oklab(50 60 none))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(none 20 30), oklab(50 none 70))`, `color-mix(in oklab, oklab(none 20 30), oklab(50 none 70))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70))`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / 0.5))`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / 0.5))`);
- test_valid_value(`color`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))`, `color-mix(in oklab, oklab(10 20 30 / none), oklab(50 60 70 / none))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(none none none), oklab(0.5 0.6 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(none none none))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 none), oklab(0.5 0.6 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))`, `color-mix(in oklab, oklab(0.1 0.2 0.3), oklab(0.5 0.6 none))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))`, `color-mix(in oklab, oklab(none 0.2 0.3), oklab(0.5 none 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / 0.5))`);
+ test_valid_value(`color`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))`, `color-mix(in oklab, oklab(0.1 0.2 0.3 / none), oklab(0.5 0.6 0.7 / none))`);
for (const colorSpace of [ "srgb", "srgb-linear", "xyz", "xyz-d50", "xyz-d65" ]) {
const resultColorSpace = colorSpace == "xyz" ? "xyz-d65" : colorSpace;
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-lab.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-lab.html
index 3a5d661712f..601a0ffb641 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-lab.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-lab.html
@@ -21,7 +21,7 @@ test_valid_value("color", "lab(0 0 0 / 1)", "lab(0 0 0)");
test_valid_value("color", "lab(0 0 0 / 0.5)", "lab(0 0 0 / 0.5)");
test_valid_value("color", "lab(20 0 10/0.5)", "lab(20 0 10 / 0.5)");
test_valid_value("color", "lab(20 0 10/50%)", "lab(20 0 10 / 0.5)");
-test_valid_value("color", "lab(400 0 10/50%)", "lab(400 0 10 / 0.5)");
+test_valid_value("color", "lab(400 0 10/50%)", "lab(100 0 10 / 0.5)");
test_valid_value("color", "lab(50 -160 160)", "lab(50 -160 160)");
test_valid_value("color", "lab(50 -200 200)", "lab(50 -200 200)");
test_valid_value("color", "lab(0 0 0 / -10%)", "lab(0 0 0 / 0)");
@@ -30,7 +30,7 @@ test_valid_value("color", "lab(0 0 0 / 300%)", "lab(0 0 0)");
test_valid_value("color", "lab(-40 0 0)", "lab(0 0 0)");
test_valid_value("color", "lab(50 -20 0)", "lab(50 -20 0)");
test_valid_value("color", "lab(50 0 -20)", "lab(50 0 -20)");
-test_valid_value("color", "lab(calc(50 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "lab(150 -0.5 1.5 / 0.5)");
+test_valid_value("color", "lab(calc(50 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "lab(100 -0.5 1.5 / 0.5)");
test_valid_value("color", "lab(calc(-50 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))", "lab(0 1.5 -1.5 / 0)");
test_valid_value("color", "lab(none none none / none)", "lab(none none none / none)");
@@ -43,23 +43,23 @@ test_valid_value("color", "lab(0 0 0 / none)", "lab(0 0 0 / none)");
test_valid_value("color", "oklab(0 0 0)", "oklab(0 0 0)");
test_valid_value("color", "oklab(0 0 0 / 1)", "oklab(0 0 0)");
test_valid_value("color", "oklab(0 0 0 / 0.5)", "oklab(0 0 0 / 0.5)");
-test_valid_value("color", "oklab(20 0 10/0.5)", "oklab(20 0 10 / 0.5)");
-test_valid_value("color", "oklab(20 0 10/50%)", "oklab(20 0 10 / 0.5)");
-test_valid_value("color", "oklab(400 0 10/50%)", "oklab(400 0 10 / 0.5)");
-test_valid_value("color", "oklab(50 -160 160)", "oklab(50 -160 160)");
-test_valid_value("color", "oklab(50 -200 200)", "oklab(50 -200 200)");
+test_valid_value("color", "oklab(0.2 0 0.1/0.5)", "oklab(0.2 0 0.1 / 0.5)");
+test_valid_value("color", "oklab(0.2 0 0.1/50%)", "oklab(0.2 0 0.1 / 0.5)");
+test_valid_value("color", "oklab(4 0 0.1/50%)", "oklab(1 0 0.1 / 0.5)");
+test_valid_value("color", "oklab(0.5 -1.6 1.6)", "oklab(0.5 -1.6 1.6)");
+test_valid_value("color", "oklab(0.5 -2 2)", "oklab(0.5 -2 2)");
test_valid_value("color", "oklab(0 0 0 / -10%)", "oklab(0 0 0 / 0)");
test_valid_value("color", "oklab(0 0 0 / 110%)", "oklab(0 0 0)");
test_valid_value("color", "oklab(0 0 0 / 300%)", "oklab(0 0 0)");
-test_valid_value("color", "oklab(-40 0 0)", "oklab(0 0 0)");
-test_valid_value("color", "oklab(50 -20 0)", "oklab(50 -20 0)");
-test_valid_value("color", "oklab(50 0 -20)", "oklab(50 0 -20)");
-test_valid_value("color", "oklab(calc(50 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "oklab(150 -0.5 1.5 / 0.5)");
-test_valid_value("color", "oklab(calc(-50 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))", "oklab(0 1.5 -1.5 / 0)");
+test_valid_value("color", "oklab(-0.4 0 0)", "oklab(0 0 0)");
+test_valid_value("color", "oklab(0.5 -2 0)", "oklab(0.5 -2 0)");
+test_valid_value("color", "oklab(0.5 0 -2)", "oklab(0.5 0 -2)");
+test_valid_value("color", "oklab(calc(0.5 * 3) calc(0.5 - 1) calc(1.5) / calc(-0.5 + 1))", "oklab(1 -0.5 1.5 / 0.5)");
+test_valid_value("color", "oklab(calc(-0.5 * 3) calc(0.5 + 1) calc(-1.5) / calc(-0.5 * 2))", "oklab(0 1.5 -1.5 / 0)");
test_valid_value("color", "oklab(none none none / none)", "oklab(none none none / none)");
test_valid_value("color", "oklab(none none none)", "oklab(none none none)");
-test_valid_value("color", "oklab(20 none none / none)", "oklab(20 none none / none)");
+test_valid_value("color", "oklab(0.2 none none / none)", "oklab(0.2 none none / none)");
test_valid_value("color", "oklab(none none none / 0.5)", "oklab(none none none / 0.5)");
test_valid_value("color", "oklab(0 0 0 / none)", "oklab(0 0 0 / none)");
@@ -82,7 +82,7 @@ test_valid_value("color", "lch(20 -20 0)", "lch(20 0 0)");
test_valid_value("color", "lch(0 0 0 / 0.5)", "lch(0 0 0 / 0.5)");
test_valid_value("color", "lch(10 20 20 / 110%)", "lch(10 20 20)");
test_valid_value("color", "lch(10 20 -700)", "lch(10 20 20)");
-test_valid_value("color", "lch(calc(50 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "lch(150 0 40 / 0.5)");
+test_valid_value("color", "lch(calc(50 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "lch(100 0 40 / 0.5)");
test_valid_value("color", "lch(calc(-50 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))", "lch(0 1.5 320 / 0)");
test_valid_value("color", "lch(none none none / none)", "lch(none none none / none)");
@@ -95,27 +95,27 @@ test_valid_value("color", "lch(0 0 0 / none)", "lch(0 0 0 / none)");
test_valid_value("color", "oklch(0 0 0deg)", "oklch(0 0 0)");
test_valid_value("color", "oklch(0 0 0deg / 1)", "oklch(0 0 0)");
test_valid_value("color", "oklch(0 0 0deg / 0.5)", "oklch(0 0 0 / 0.5)");
-test_valid_value("color", "oklch(100 230 0deg / 0.5)", "oklch(100 230 0 / 0.5)");
-test_valid_value("color", "oklch(20 50 20deg/0.5)", "oklch(20 50 20 / 0.5)");
-test_valid_value("color", "oklch(20 50 20deg/50%)", "oklch(20 50 20 / 0.5)");
-test_valid_value("color", "oklch(10 20 20deg / -10%)", "oklch(10 20 20 / 0)");
-test_valid_value("color", "oklch(10 20 20deg / 110%)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(10 20 1.28rad)", "oklch(10 20 73.3386)");
-test_valid_value("color", "oklch(10 20 380deg)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(10 20 -340deg)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(10 20 740deg)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(10 20 -700deg)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(-40 0 0)", "oklch(0 0 0)");
-test_valid_value("color", "oklch(20 -20 0)", "oklch(20 0 0)");
+test_valid_value("color", "oklch(1 2.3 0deg / 0.5)", "oklch(1 2.3 0 / 0.5)");
+test_valid_value("color", "oklch(0.2 0.5 20deg/0.5)", "oklch(0.2 0.5 20 / 0.5)");
+test_valid_value("color", "oklch(0.2 0.5 20deg/50%)", "oklch(0.2 0.5 20 / 0.5)");
+test_valid_value("color", "oklch(0.1 0.2 20deg / -10%)", "oklch(0.1 0.2 20 / 0)");
+test_valid_value("color", "oklch(0.1 0.2 20deg / 110%)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(0.1 0.2 1.28rad)", "oklch(0.1 0.2 73.3386)");
+test_valid_value("color", "oklch(0.1 0.2 380deg)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(0.1 0.2 -340deg)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(0.1 0.2 740deg)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(0.1 0.2 -700deg)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(-4 0 0)", "oklch(0 0 0)");
+test_valid_value("color", "oklch(0.2 -0.2 0)", "oklch(0.2 0 0)");
test_valid_value("color", "oklch(0 0 0 / 0.5)", "oklch(0 0 0 / 0.5)");
-test_valid_value("color", "oklch(10 20 20 / 110%)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(10 20 -700)", "oklch(10 20 20)");
-test_valid_value("color", "oklch(calc(50 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "oklch(150 0 40 / 0.5)");
-test_valid_value("color", "oklch(calc(-50 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))", "oklch(0 1.5 320 / 0)");
+test_valid_value("color", "oklch(0.1 0.2 20 / 110%)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(0.1 0.2 -700)", "oklch(0.1 0.2 20)");
+test_valid_value("color", "oklch(calc(0.5 * 3) calc(0.5 - 1) calc(20deg * 2) / calc(-0.5 + 1))", "oklch(1 0 40 / 0.5)");
+test_valid_value("color", "oklch(calc(-0.5 * 3) calc(0.5 + 1) calc(-20deg * 2) / calc(-0.5 * 2))", "oklch(0 1.5 320 / 0)");
test_valid_value("color", "oklch(none none none / none)", "oklch(none none none / none)");
test_valid_value("color", "oklch(none none none)", "oklch(none none none)");
-test_valid_value("color", "oklch(20 none none / none)", "oklch(20 none none / none)");
+test_valid_value("color", "oklch(0.2 none none / none)", "oklch(0.2 none none / none)");
test_valid_value("color", "oklch(none none none / 0.5)", "oklch(none none none / 0.5)");
test_valid_value("color", "oklch(0 0 0 / none)", "oklch(0 0 0 / none)");
</script>
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-relative-color.html b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-relative-color.html
index b5c8ddfca1c..a1c9461d2ee 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-relative-color.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/color-valid-relative-color.html
@@ -39,9 +39,9 @@
test_valid_value(`color`, `rgb(from lab(0 104.3 -50.9) r g b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_valid_value(`color`, `rgb(from lch(100 116 334) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_valid_value(`color`, `rgb(from lch(0 116 334) r g b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_valid_value(`color`, `rgb(from oklab(100 0.365 -0.16) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_valid_value(`color`, `rgb(from oklab(1 0.365 -0.16) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_valid_value(`color`, `rgb(from oklab(0 0.365 -0.16) r g b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_valid_value(`color`, `rgb(from oklch(100 0.399 336.3) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_valid_value(`color`, `rgb(from oklch(1 0.399 336.3) r g b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_valid_value(`color`, `rgb(from oklch(0 0.399 336.3) r g b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
// Testing replacement with 0.
@@ -145,9 +145,9 @@
test_valid_value(`color`, `hsl(from lab(0 104.3 -50.9) h s l)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_valid_value(`color`, `hsl(from lch(100 116 334) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_valid_value(`color`, `hsl(from lch(0 116 334) h s l)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_valid_value(`color`, `hsl(from oklab(100 0.365 -0.16) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_valid_value(`color`, `hsl(from oklab(1 0.365 -0.16) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_valid_value(`color`, `hsl(from oklab(0 0.365 -0.16) h s l)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_valid_value(`color`, `hsl(from oklch(100 0.399 336.3) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_valid_value(`color`, `hsl(from oklch(1 0.399 336.3) h s l)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_valid_value(`color`, `hsl(from oklch(0 0.399 336.3) h s l)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
// Testing replacement with 0.
@@ -226,9 +226,9 @@
test_valid_value(`color`, `hwb(from lab(0 104.3 -50.9) h w b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_valid_value(`color`, `hwb(from lch(100 116 334) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_valid_value(`color`, `hwb(from lch(0 116 334) h w b)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_valid_value(`color`, `hwb(from oklab(100 0.365 -0.16) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_valid_value(`color`, `hwb(from oklab(1 0.365 -0.16) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_valid_value(`color`, `hwb(from oklab(0 0.365 -0.16) h w b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_valid_value(`color`, `hwb(from oklch(100 0.399 336.3) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_valid_value(`color`, `hwb(from oklch(1 0.399 336.3) h w b)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_valid_value(`color`, `hwb(from oklch(0 0.399 336.3) h w b)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
// Testing replacement with 0.
@@ -296,7 +296,7 @@
test_valid_value(`color`, `lab(from lab(25 20 50) l a b)`, `lab(25 20 50)`);
test_valid_value(`color`, `lab(from lab(25 20 50) l a b / alpha)`, `lab(25 20 50)`);
test_valid_value(`color`, `lab(from lab(25 20 50 / 40%) l a b / alpha)`, `lab(25 20 50 / 0.4)`);
- test_valid_value(`color`, `lab(from lab(200 300 400 / 500%) l a b / alpha)`, `lab(200 300 400)`);
+ test_valid_value(`color`, `lab(from lab(200 300 400 / 500%) l a b / alpha)`, `lab(100 300 400)`);
test_valid_value(`color`, `lab(from lab(-200 -300 -400 / -500%) l a b / alpha)`, `lab(0 -300 -400 / 0)`);
// Test nesting relative colors.
@@ -356,65 +356,65 @@
// oklab()
// Testing no modifications.
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a b)`, `oklab(25 20 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a b / alpha)`, `oklab(25 20 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / alpha)`, `oklab(25 20 50 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(200 300 400 / 500%) l a b / alpha)`, `oklab(200 300 400)`);
- test_valid_value(`color`, `oklab(from oklab(-200 -300 -400 / -500%) l a b / alpha)`, `oklab(0 -300 -400 / 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b)`, `oklab(0.25 0.2 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / alpha)`, `oklab(0.25 0.2 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / alpha)`, `oklab(0.25 0.2 0.5 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(2 3 4 / 500%) l a b / alpha)`, `oklab(1 3 4)`);
+ test_valid_value(`color`, `oklab(from oklab(-2 -3 -4 / -500%) l a b / alpha)`, `oklab(0 -3 -4 / 0)`);
// Test nesting relative colors.
- test_valid_value(`color`, `oklab(from oklab(from oklab(25 20 50) l a b) l a b)`, `oklab(25 20 50)`);
+ test_valid_value(`color`, `oklab(from oklab(from oklab(0.25 0.2 0.5) l a b) l a b)`, `oklab(0.25 0.2 0.5)`);
// Testing non-oklab origin to see conversion.
test_valid_value(`color`, `oklab(from color(display-p3 0 0 0) l a b / alpha)`, `oklab(0 0 0)`);
// Testing replacement with 0.
- test_valid_value(`color`, `oklab(from oklab(25 20 50) 0 0 0)`, `oklab(0 0 0)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) 0 0 0 / 0)`, `oklab(0 0 0 / 0)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) 0 a b / alpha)`, `oklab(0 20 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l 0 b / alpha)`, `oklab(25 0 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a 0 / alpha)`, `oklab(25 20 0)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a b / 0)`, `oklab(25 20 50 / 0)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) 0 a b / alpha)`, `oklab(0 20 50 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l 0 b / alpha)`, `oklab(25 0 50 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a 0 / alpha)`, `oklab(25 20 0 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / 0)`, `oklab(25 20 50 / 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0 0 0)`, `oklab(0 0 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0 0 0 / 0)`, `oklab(0 0 0 / 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0 a b / alpha)`, `oklab(0 0.2 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l 0 b / alpha)`, `oklab(0.25 0 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a 0 / alpha)`, `oklab(0.25 0.2 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / 0)`, `oklab(0.25 0.2 0.5 / 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) 0 a b / alpha)`, `oklab(0 0.2 0.5 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l 0 b / alpha)`, `oklab(0.25 0 0.5 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0 / alpha)`, `oklab(0.25 0.2 0 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / 0)`, `oklab(0.25 0.2 0.5 / 0)`);
// Testing replacement with a constant.
- test_valid_value(`color`, `oklab(from oklab(25 20 50) 35 a b / alpha)`, `oklab(35 20 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l 35 b / alpha)`, `oklab(25 35 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a 35 / alpha)`, `oklab(25 20 35)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a b / .35)`, `oklab(25 20 50 / 0.35)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) 35 a b / alpha)`, `oklab(35 20 50 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l 35 b / alpha)`, `oklab(25 35 50 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a 35 / alpha)`, `oklab(25 20 35 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / .35)`, `oklab(25 20 50 / 0.35)`);
- test_valid_value(`color`, `oklab(from oklab(0.7 45 30 / 40%) 200 300 400 / 500)`, `oklab(200 300 400)`);
- test_valid_value(`color`, `oklab(from oklab(0.7 45 30 / 40%) -200 -300 -400 / -500)`, `oklab(0 -300 -400 / 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) 0.35 a b / alpha)`, `oklab(0.35 0.2 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l 0.35 b / alpha)`, `oklab(0.25 0.35 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a 0.35 / alpha)`, `oklab(0.25 0.2 0.35)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / .35)`, `oklab(0.25 0.2 0.5 / 0.35)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) 0.35 a b / alpha)`, `oklab(0.35 0.2 0.5 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l 0.35 b / alpha)`, `oklab(0.25 0.35 0.5 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a 0.35 / alpha)`, `oklab(0.25 0.2 0.35 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / .35)`, `oklab(0.25 0.2 0.5 / 0.35)`);
+ test_valid_value(`color`, `oklab(from oklab(0.7 0.45 0.3 / 40%) 2 3 4 / 500)`, `oklab(1 3 4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.7 0.45 0.3 / 40%) -2 -3 -4 / -500)`, `oklab(0 -3 -4 / 0)`);
// Testing valid permutation (types match).
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l b a)`, `oklab(25 50 20)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a a / a)`, `oklab(25 20 20)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l b a)`, `oklab(25 50 20)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a a / a)`, `oklab(25 20 20)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l b a)`, `oklab(0.25 0.5 0.2)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a a / a)`, `oklab(0.25 0.2 0.2 / 0.2)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l b a)`, `oklab(0.25 0.5 0.2)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a a / a)`, `oklab(0.25 0.2 0.2 / 0.2)`);
// Testing with calc().
- test_valid_value(`color`, `oklab(from oklab(25 20 50) calc(l) calc(a) calc(b))`, `oklab(25 20 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) calc(l) calc(a) calc(b) / calc(alpha))`, `oklab(25 20 50 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) calc(l) calc(a) calc(b))`, `oklab(0.25 0.2 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) calc(l) calc(a) calc(b) / calc(alpha))`, `oklab(0.25 0.2 0.5 / 0.4)`);
// Testing with 'none'.
- test_valid_value(`color`, `oklab(from oklab(25 20 50) none none none)`, `oklab(none none none)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) none none none / none)`, `oklab(none none none / none)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a none)`, `oklab(25 20 none)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a none / alpha)`, `oklab(25 20 none)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50) l a b / none)`, `oklab(25 20 50 / none)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a none / alpha)`, `oklab(25 20 none / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / 40%) l a b / none)`, `oklab(25 20 50 / none)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) none none none)`, `oklab(none none none)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) none none none / none)`, `oklab(none none none / none)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a none)`, `oklab(0.25 0.2 none)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a none / alpha)`, `oklab(0.25 0.2 none)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5) l a b / none)`, `oklab(0.25 0.2 0.5 / none)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a none / alpha)`, `oklab(0.25 0.2 none / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / 40%) l a b / none)`, `oklab(0.25 0.2 0.5 / none)`);
// FIXME: Clarify with spec editors if 'none' should pass through to the constants.
test_valid_value(`color`, `oklab(from oklab(none none none) l a b)`, `oklab(0 0 0)`);
test_valid_value(`color`, `oklab(from oklab(none none none / none) l a b / alpha)`, `oklab(0 0 0 / 0)`);
- test_valid_value(`color`, `oklab(from oklab(25 none 50) l a b)`, `oklab(25 0 50)`);
- test_valid_value(`color`, `oklab(from oklab(25 20 50 / none) l a b / alpha)`, `oklab(25 20 50 / 0)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 none 0.5) l a b)`, `oklab(0.25 0 0.5)`);
+ test_valid_value(`color`, `oklab(from oklab(0.25 0.2 0.5 / none) l a b / alpha)`, `oklab(0.25 0.2 0.5 / 0)`);
// lab and oklab tests that require different results due to percent scaling differences.
test_valid_value(`color`, `lab(from lab(.7 45 30) alpha b a / l)`, `lab(100 30 45 / 0.7)`);
@@ -424,12 +424,12 @@
test_valid_value(`color`, `lab(from lab(.7 45 30 / 40%) alpha a b / alpha)`, `lab(40 45 30 / 0.4)`);
test_valid_value(`color`, `lab(from lab(.7 45 30 / 40%) alpha a a / alpha)`, `lab(40 45 45 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(.7 45 30) alpha b a / l)`, `oklab(1 30 45 / 0.7)`);
- test_valid_value(`color`, `oklab(from oklab(.7 45 30) alpha a b / alpha)`, `oklab(1 45 30)`);
- test_valid_value(`color`, `oklab(from oklab(.7 45 30) alpha a a / alpha)`, `oklab(1 45 45)`);
- test_valid_value(`color`, `oklab(from oklab(.7 45 30 / 40%) alpha b a / l)`, `oklab(0.4 30 45 / 0.7)`);
- test_valid_value(`color`, `oklab(from oklab(.7 45 30 / 40%) alpha a b / alpha)`, `oklab(0.4 45 30 / 0.4)`);
- test_valid_value(`color`, `oklab(from oklab(.7 45 30 / 40%) alpha a a / alpha)`, `oklab(0.4 45 45 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(.7 0.45 0.3) alpha b a / l)`, `oklab(1 0.3 0.45 / 0.7)`);
+ test_valid_value(`color`, `oklab(from oklab(.7 0.45 0.3) alpha a b / alpha)`, `oklab(1 0.45 0.3)`);
+ test_valid_value(`color`, `oklab(from oklab(.7 0.45 0.3) alpha a a / alpha)`, `oklab(1 0.45 0.45)`);
+ test_valid_value(`color`, `oklab(from oklab(.7 0.45 0.3 / 40%) alpha b a / l)`, `oklab(0.4 0.3 0.45 / 0.7)`);
+ test_valid_value(`color`, `oklab(from oklab(.7 0.45 0.3 / 40%) alpha a b / alpha)`, `oklab(0.4 0.45 0.3 / 0.4)`);
+ test_valid_value(`color`, `oklab(from oklab(.7 0.45 0.3 / 40%) alpha a a / alpha)`, `oklab(0.4 0.45 0.45 / 0.4)`);
// lch()
@@ -437,7 +437,7 @@
test_valid_value(`color`, `lch(from lch(0.7 45 30) l c h)`, `lch(0.7 45 30)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30) l c h / alpha)`, `lch(0.7 45 30)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) l c h / alpha)`, `lch(0.7 45 30 / 0.4)`);
- test_valid_value(`color`, `lch(from lch(200 300 400 / 500%) l c h / alpha)`, `lch(200 300 40)`);
+ test_valid_value(`color`, `lch(from lch(200 300 400 / 500%) l c h / alpha)`, `lch(100 300 40)`);
test_valid_value(`color`, `lch(from lch(-200 -300 -400 / -500%) l c h / alpha)`, `lch(0 0 320 / 0)`);
// Test nesting relative colors.
@@ -474,7 +474,7 @@
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) l c 25 / alpha)`, `lch(0.7 45 25 / 0.4)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) l c 25deg / alpha)`, `lch(0.7 45 25 / 0.4)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) l c h / .25)`, `lch(0.7 45 30 / 0.25)`);
- test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) 200 300 400 / 500)`, `lch(200 300 40)`);
+ test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) 200 300 400 / 500)`, `lch(100 300 40)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) -200 -300 -400 / -500)`, `lch(0 0 320 / 0)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) 50 120 400deg / 500)`, `lch(50 120 40)`);
test_valid_value(`color`, `lch(from lch(0.7 45 30 / 40%) 50 120 -400deg / -500)`, `lch(50 120 320 / 0)`);
@@ -505,73 +505,74 @@
// oklch()
// Testing no modifications.
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c h)`, `oklch(0.7 45 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c h / alpha)`, `oklch(0.7 45 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / alpha)`, `oklch(0.7 45 30 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(200 300 400 / 500%) l c h / alpha)`, `oklch(200 300 40)`);
- test_valid_value(`color`, `oklch(from oklch(-200 -300 -400 / -500%) l c h / alpha)`, `oklch(0 0 320 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h)`, `oklch(0.7 0.45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / alpha)`, `oklch(0.7 0.45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / alpha)`, `oklch(0.7 0.45 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(2 3 400 / 500%) l c h / alpha)`, `oklch(1 3 40)`);
+ test_valid_value(`color`, `oklch(from oklch(-2 -3 -400 / -500%) l c h / alpha)`, `oklch(0 0 320 / 0)`);
// Test nesting relative colors.
- test_valid_value(`color`, `oklch(from oklch(from oklch(0.7 45 30) l c h) l c h)`, `oklch(0.7 45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(from oklch(0.7 0.45 30) l c h) l c h)`, `oklch(0.7 0.45 30)`);
// Testing non-sRGB origin colors (no gamut mapping will happen since the destination is not a bounded RGB color space).
test_valid_value(`color`, `oklch(from color(display-p3 0 0 0) l c h / alpha)`, `oklch(0 0 0)`);
+ // TODO: redo conversion with oklab(0.7 0.45 0.3)
test_valid_value(`color`, `oklch(from oklab(0.7 45 30) l c h / alpha)`, `oklch(0.7 54.08327 33.690067)`);
// Testing replacement with 0.
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0)`, `oklch(0 0 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0deg)`, `oklch(0 0 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0 / 0)`, `oklch(0 0 0 / 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) 0 0 0deg / 0)`, `oklch(0 0 0 / 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) 0 c h / alpha)`, `oklch(0 45 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l 0 h / alpha)`, `oklch(0.7 0 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c 0 / alpha)`, `oklch(0.7 45 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c 0deg / alpha)`, `oklch(0.7 45 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c h / 0)`, `oklch(0.7 45 30 / 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 0 c h / alpha)`, `oklch(0 45 30 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l 0 h / alpha)`, `oklch(0.7 0 30 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 0 / alpha)`, `oklch(0.7 45 0 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 0deg / alpha)`, `oklch(0.7 45 0 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / 0)`, `oklch(0.7 45 30 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0)`, `oklch(0 0 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0deg)`, `oklch(0 0 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0 / 0)`, `oklch(0 0 0 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 0 0deg / 0)`, `oklch(0 0 0 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) 0 c h / alpha)`, `oklch(0 0.45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l 0 h / alpha)`, `oklch(0.7 0 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 0 / alpha)`, `oklch(0.7 0.45 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 0deg / alpha)`, `oklch(0.7 0.45 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / 0)`, `oklch(0.7 0.45 30 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0 c h / alpha)`, `oklch(0 0.45 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l 0 h / alpha)`, `oklch(0.7 0 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 0 / alpha)`, `oklch(0.7 0.45 0 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 0deg / alpha)`, `oklch(0.7 0.45 0 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / 0)`, `oklch(0.7 0.45 30 / 0)`);
// Testing replacement with a constant.
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) 25 c h / alpha)`, `oklch(25 45 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l 25 h / alpha)`, `oklch(0.7 25 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c 25 / alpha)`, `oklch(0.7 45 25)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c 25deg / alpha)`, `oklch(0.7 45 25)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c h / .25)`, `oklch(0.7 45 30 / 0.25)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 25 c h / alpha)`, `oklch(25 45 30 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l 25 h / alpha)`, `oklch(0.7 25 30 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 25 / alpha)`, `oklch(0.7 45 25 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c 25deg / alpha)`, `oklch(0.7 45 25 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / .25)`, `oklch(0.7 45 30 / 0.25)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 200 300 400 / 500)`, `oklch(200 300 40)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) -200 -300 -400 / -500)`, `oklch(0 0 320 / 0)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 50 120 400deg / 500)`, `oklch(50 120 40)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) 50 120 -400deg / -500)`, `oklch(50 120 320 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) 0.25 c h / alpha)`, `oklch(0.25 0.45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l 0.25 h / alpha)`, `oklch(0.7 0.25 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 0.25 / alpha)`, `oklch(0.7 0.45 0.25)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c 25deg / alpha)`, `oklch(0.7 0.45 25)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / .25)`, `oklch(0.7 0.45 30 / 0.25)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0.25 c h / alpha)`, `oklch(0.25 0.45 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l 0.25 h / alpha)`, `oklch(0.7 0.25 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 0.25 / alpha)`, `oklch(0.7 0.45 0.25 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c 25deg / alpha)`, `oklch(0.7 0.45 25 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / .25)`, `oklch(0.7 0.45 30 / 0.25)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 2 3 400 / 500)`, `oklch(2 3 40)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) -2 -3 -400 / -500)`, `oklch(0 0 320 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 400deg / 500)`, `oklch(0.5 1.2 40)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) 0.5 1.2 -400deg / -500)`, `oklch(0.5 1.2 320 / 0)`);
// Testing valid permutation (types match).
// NOTE: 'c' is a vaild hue, as hue is <angle>|<number>.
- test_valid_value(`color`, `oklch(from oklch(.7 45 30) l c c / alpha)`, `oklch(0.7 45 45)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30 / 40%) l c c / alpha)`, `oklch(0.7 45 45 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30) l c c / alpha)`, `oklch(0.7 0.45 0.45)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) l c c / alpha)`, `oklch(0.7 0.45 0.45 / 0.4)`);
// Testing with calc().
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) calc(l) calc(c) calc(h))`, `oklch(0.7 45 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))`, `oklch(0.7 45 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) calc(l) calc(c) calc(h))`, `oklch(0.7 0.45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) calc(l) calc(c) calc(h) / calc(alpha))`, `oklch(0.7 0.45 30 / 0.4)`);
// Testing with 'none'.
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) none none none)`, `oklch(none none none)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) none none none / none)`, `oklch(none none none / none)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c none)`, `oklch(0.7 45 none)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c none / alpha)`, `oklch(0.7 45 none)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30) l c h / none)`, `oklch(0.7 45 30 / none)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c none / alpha)`, `oklch(0.7 45 none / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / 40%) l c h / none)`, `oklch(0.7 45 30 / none)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) none none none)`, `oklch(none none none)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) none none none / none)`, `oklch(none none none / none)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c none)`, `oklch(0.7 0.45 none)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c none / alpha)`, `oklch(0.7 0.45 none)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30) l c h / none)`, `oklch(0.7 0.45 30 / none)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c none / alpha)`, `oklch(0.7 0.45 none / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / 40%) l c h / none)`, `oklch(0.7 0.45 30 / none)`);
// FIXME: Clarify with spec editors if 'none' should pass through to the constants.
test_valid_value(`color`, `oklch(from oklch(none none none) l c h)`, `oklch(0 0 0)`);
test_valid_value(`color`, `oklch(from oklch(none none none / none) l c h / alpha)`, `oklch(0 0 0 / 0)`);
test_valid_value(`color`, `oklch(from oklch(0.7 none 30) l c h)`, `oklch(0.7 0 30)`);
- test_valid_value(`color`, `oklch(from oklch(0.7 45 30 / none) l c h / alpha)`, `oklch(0.7 45 30 / 0)`);
+ test_valid_value(`color`, `oklch(from oklch(0.7 0.45 30 / none) l c h / alpha)`, `oklch(0.7 0.45 30 / 0)`);
// lch and oklch tests that require different results due to percent scaling differences.
test_valid_value(`color`, `lch(from lch(.7 45 30) alpha c h / l)`, `lch(100 45 30 / 0.7)`);
@@ -581,12 +582,12 @@
test_valid_value(`color`, `lch(from lch(.7 45 30 / 40%) alpha c h / alpha)`, `lch(40 45 30 / 0.4)`);
test_valid_value(`color`, `lch(from lch(.7 45 30 / 40%) alpha c c / alpha)`, `lch(40 45 45 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30) alpha c h / l)`, `oklch(1 45 30 / 0.7)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30) alpha c h / alpha)`, `oklch(1 45 30)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30) alpha c c / alpha)`, `oklch(1 45 45)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30 / 40%) alpha c h / l)`, `oklch(0.4 45 30 / 0.7)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30 / 40%) alpha c h / alpha)`, `oklch(0.4 45 30 / 0.4)`);
- test_valid_value(`color`, `oklch(from oklch(.7 45 30 / 40%) alpha c c / alpha)`, `oklch(0.4 45 45 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30) alpha c h / l)`, `oklch(1 0.45 30 / 0.7)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30) alpha c h / alpha)`, `oklch(1 0.45 30)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30) alpha c c / alpha)`, `oklch(1 0.45 0.45)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) alpha c h / l)`, `oklch(0.4 0.45 30 / 0.7)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) alpha c h / alpha)`, `oklch(0.4 0.45 30 / 0.4)`);
+ test_valid_value(`color`, `oklch(from oklch(.7 0.45 30 / 40%) alpha c c / alpha)`, `oklch(0.4 0.45 0.45 / 0.4)`);
for (const colorSpace of [ "srgb", "srgb-linear", "a98-rgb", "rec2020", "prophoto-rgb", "display-p3" ]) {
diff --git a/tests/wpt/web-platform-tests/css/css-color/parsing/gamut-mapping.html b/tests/wpt/web-platform-tests/css/css-color/parsing/gamut-mapping.html
index cfc1d1b946a..02133acced2 100644
--- a/tests/wpt/web-platform-tests/css/css-color/parsing/gamut-mapping.html
+++ b/tests/wpt/web-platform-tests/css/css-color/parsing/gamut-mapping.html
@@ -20,9 +20,9 @@
test_computed_value(`color`, `color-mix(in hsl, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_computed_value(`color`, `color-mix(in hsl, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_computed_value(`color`, `color-mix(in hsl, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_computed_value(`color`, `color-mix(in hsl, oklab(100 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_computed_value(`color`, `color-mix(in hsl, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_computed_value(`color`, `color-mix(in hsl, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_computed_value(`color`, `color-mix(in hsl, oklch(100 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_computed_value(`color`, `color-mix(in hsl, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_computed_value(`color`, `color-mix(in hsl, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
test_computed_value(`color`, `color-mix(in hwb, color(display-p3 0 1 0) 100%, rgb(0, 0, 0) 0%)`, `rgb(0, 249, 66)`); // Naive clip based mapping would give rgb(0, 255, 0).
@@ -30,9 +30,9 @@
test_computed_value(`color`, `color-mix(in hwb, lab(0 104.3 -50.9) 100%, rgb(0, 0, 0) 0%)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
test_computed_value(`color`, `color-mix(in hwb, lch(100 116 334) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 150, 255).
test_computed_value(`color`, `color-mix(in hwb, lch(0 116 334) 100%, rgb(0, 0, 0) 0%)`, `rgb(42, 0, 34)`); // Naive clip based mapping would give rgb(90, 0, 76). NOTE: 0% lightness in Lab/LCH does not automatically correspond with sRGB black,
- test_computed_value(`color`, `color-mix(in hwb, oklab(100 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
+ test_computed_value(`color`, `color-mix(in hwb, oklab(1 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 92, 255).
test_computed_value(`color`, `color-mix(in hwb, oklab(0 0.365 -0.16) 100%, rgb(0, 0, 0) 0%)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(19, 0, 24).
- test_computed_value(`color`, `color-mix(in hwb, oklch(100 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
+ test_computed_value(`color`, `color-mix(in hwb, oklch(1 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `rgb(255, 255, 255)`); // Naive clip based mapping would give rgb(255, 91, 255).
test_computed_value(`color`, `color-mix(in hwb, oklch(0 0.399 336.3) 100%, rgb(0, 0, 0) 0%)`, `rgb(0, 0, 0)`); // Naive clip based mapping would give rgb(20, 0, 24).
</script>
</body>
diff --git a/tests/wpt/web-platform-tests/css/css-fonts/discrete-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-fonts/discrete-no-interpolation.html
new file mode 100644
index 00000000000..18886705940
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-fonts/discrete-no-interpolation.html
@@ -0,0 +1,94 @@
+<!DOCTYPE html>
+<meta name=timeout content=long>
+<link rel=author href="mailto:jarhar@chromium.org">
+<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<body>
+<script>
+ test_no_interpolation({
+ property: 'font-family',
+ from: 'initial',
+ to: 'c'
+ });
+
+ test_no_interpolation({
+ property: 'font-kerning',
+ from: 'initial',
+ to: 'none'
+ });
+
+ test_no_interpolation({
+ property: 'font-optical-sizing',
+ from: 'initial',
+ to: 'none'
+ });
+
+ test_no_interpolation({
+ property: 'font-palette',
+ from: 'initial',
+ to: 'dark'
+ });
+
+ test_no_interpolation({
+ property: 'font-feature-settings',
+ from: 'initial',
+ to: '"smcp"'
+ });
+
+ test_no_interpolation({
+ property: 'font-synthesis-small-caps',
+ from: 'initial',
+ to: 'none'
+ });
+
+ test_no_interpolation({
+ property: 'font-synthesis-style',
+ from: 'initial',
+ to: 'none'
+ });
+
+ test_no_interpolation({
+ property: 'font-synthesis-weight',
+ from: 'initial',
+ to: 'none'
+ });
+
+ test_no_interpolation({
+ property: 'font-variant-alternates',
+ from: 'initial',
+ to: 'historical-forms'
+ });
+
+ test_no_interpolation({
+ property: 'font-variant-caps',
+ from: 'initial',
+ to: 'small-caps'
+ });
+
+ test_no_interpolation({
+ property: 'font-variant-east-asian',
+ from: 'initial',
+ to: 'full-width'
+ });
+
+ test_no_interpolation({
+ property: 'font-variant-ligatures',
+ from: 'common-ligatures',
+ to: 'no-common-ligatures'
+ });
+
+ test_no_interpolation({
+ property: 'font-variant-numeric',
+ from: 'initial',
+ to: 'tabular-nums'
+ });
+
+ test_no_interpolation({
+ property: 'font-variant-position',
+ from: 'initial',
+ to: 'super'
+ });
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a.html
index 6fedad96fe5..b7473fd66c0 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1a.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-96; totalPixels=0-356">
<meta name="assert" content="Test checks whether clip-path border-box works correctly or not. This test is for clip-path applied to an HTML element.">
<style>
div {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c.html
index c581a9c5468..f050159385d 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-borderBox-1c.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-52; totalPixels=0-355">
<meta name="assert" content="Test checks whether clip-path border-box works correctly or not. This test is for clip-path applied to an SVG SVG element.">
<style>
svg {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c.html
index 260e644fc16..a04aaa21e5a 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-contentBox-1c.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-52; totalPixels=0-355">
<meta name="assert" content="Test checks whether clip-path content-box works correctly or not.">
</head>
<style>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a.html
index a210ea99b5e..d3733d4332a 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-fillBox-1a.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-52; totalPixels=0-355">
<meta name="assert" content="Test checks whether clip-path fill-box works correctly or not. This test is for clip-path applied to an SVG SVG element.">
<style>
svg {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html
index f0c31e39aab..bf7b098dbda 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-paddingBox-1c.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-52; totalPixels=0-355">
<meta name="assert" content="Test checks whether clip-path padding-box works correctly or not. This test is for clip-path applied to an SVG SVG element.">
<style>
svg {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013.html
index 8d2c049a7e7..23c93f347d1 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-polygon-013.html
@@ -10,13 +10,19 @@
polygon coordinates. The test passes if you see a multiple green and blue
stripe pairs. For each pair, the blue and green stripe must be of same
length.">
+ <meta name="flags" content="ahem">
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
+body {
+ margin: 0;
+}
div {
width: 100%;
height: 20px;
background-color: green;
padding: 0;
margin: 0;
+ font: 20px/1 Ahem;
}
div:nth-child(odd) {
margin-bottom: 5px;
@@ -43,4 +49,4 @@ div:nth-child(odd) {
<div style="clip-path: polygon(0 0, 30ex 0, 30ex 20px, 0 20px)"></div>
<div style="width: 30ex"></div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a.html
index a479a471120..31fec7516ca 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1a.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-52; totalPixels=0-355">
<meta name="assert" content="Test checks whether clip-path stroke-box works correctly or not. This test is for clip-path applied to an SVG SVG element.">
<style>
svg {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b.html
index ba81b5df736..3ac1a834fb0 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-strokeBox-1b.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-64; totalPixels=0-194">
<meta name="assert" content="Test checks whether clip-path stroke-box works correctly or not.">
</head>
<body>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b.html
index 08c91b84bf8..81bfcb87982 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1b.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-7; totalPixels=0-150">
<meta name="assert" content="Test checks whether clip-path view-box with viewbox works correctly or not.">
</head>
<body>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c.html
index 0890ee1487f..26f2750e324 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/clip-path-viewBox-1c.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-clip-path">
<link rel="match" href="clip-path-geometryBox-1-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-52; totalPixels=0-355">
<meta name="assert" content="Test checks whether clip-path view-box works correctly or not. This test is for clip-path applied to an SVG SVG element.">
<style>
svg {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/reference/clip-path-stripes-003-ref.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/reference/clip-path-stripes-003-ref.html
index e31282c02fd..f4b7fa10f2d 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/reference/clip-path-stripes-003-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/reference/clip-path-stripes-003-ref.html
@@ -3,12 +3,18 @@
<head>
<title>CSS Masking: Reftest reference</title>
<link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com">
+ <meta name="flags" content="ahem">
+ <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<style>
+body {
+ margin: 0;
+}
div {
height: 20px;
background-color: green;
padding: 0;
margin: 0;
+ font: 20px/1 Ahem;
}
div:nth-child(odd) {
margin-bottom: 5px;
@@ -35,4 +41,4 @@ div:nth-child(odd) {
<div style="width: 30ex"></div>
<div style="width: 30ex"></div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/clip-path/svg-clip-path-fixed-values.html b/tests/wpt/web-platform-tests/css/css-masking/clip-path/svg-clip-path-fixed-values.html
index 801cfe08d94..eb2c44fbb23 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/clip-path/svg-clip-path-fixed-values.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/clip-path/svg-clip-path-fixed-values.html
@@ -2,6 +2,7 @@
<link rel="author" title="Vladimir Levin" href="mailto:vmpstr@chromium.org">
<link rel="help" href="https://drafts.csswg.org/css-shapes/#supported-basic-shapes">
<link rel="match" href="svg-clip-path-fixed-values-ref.html">
+<meta name="fuzzy" content="maxDifference=0-62; totalPixels=0-608">
<meta name="assert" content="clip-path clips correctly">
<style>
svg {
diff --git a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html
index 37608bfe20d..c7197f45811 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-image-3h.html
@@ -7,6 +7,7 @@
<link rel="author" title="Mozilla" href="https://www.mozilla.org">
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#the-mask-image">
<link rel="match" href="mask-image-3-ref.html">
+ <meta name="fuzzy" content="maxDifference=0-6; totalPixels=0-49">
<meta name="assert" content="Test checks whether clip-path in SVG mask works correctly or not.">
<svg height="0">
<mask id="mask1" x="0" y="0" width="1" height="1" >
diff --git a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html
index 38977a0aad2..d69ca24ee4d 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-a.html
@@ -8,6 +8,7 @@
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode">
<link rel="match" href="mask-mode-ref.html">
<meta name="assert" content="Test checks that mask an SVG image referenced by mask-image is correct with different mask mode.">
+ <meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-10000">
<style type="text/css">
div {
background-color: blue;
diff --git a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html
index e5c11e9bf05..961411d7185 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html
+++ b/tests/wpt/web-platform-tests/css/css-masking/mask-image/mask-mode-b.html
@@ -8,6 +8,7 @@
<link rel="help" href="https://www.w3.org/TR/css-masking-1/#propdef-mask-mode">
<link rel="match" href="mask-mode-ref.html">
<meta name="assert" content="Test checks that mask a PNG image referenced by mask-image is correct with different mask mode.">
+ <meta name="fuzzy" content="maxDifference=0-1;totalPixels=0-10000">
<style type="text/css">
div {
background-color: blue;
diff --git a/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/mask-text-001.svg b/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/mask-text-001.svg
index 1dd5c546af3..28515105a4f 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/mask-text-001.svg
+++ b/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/mask-text-001.svg
@@ -6,6 +6,7 @@
<html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#svg-masks"/>
<html:link rel="help" href="http://www.w3.org/TR/css-masking-1/#MaskElement"/>
<html:link rel="match" href="reference/mask-text-001-ref.svg"/>
+ <html:link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<metadata class="flags">svg</metadata>
<desc class="assert">The masked target elements get scaled with negative
factors. Check if that influences masking. You should see 4 green
@@ -15,4 +16,4 @@
<text fill="#fff" font-family="Ahem" font-size="12px" transform="rotate(90 50 50)" x="50%" y="50%">foobar</text>
</mask>
<rect width="100%" height="100%" x="0" y="0" mask="url(#mask)"/>
-</svg> \ No newline at end of file
+</svg>
diff --git a/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/reference/mask-text-001-ref.svg b/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/reference/mask-text-001-ref.svg
index 3fabeb01d76..edaed2c200a 100644
--- a/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/reference/mask-text-001-ref.svg
+++ b/tests/wpt/web-platform-tests/css/css-masking/mask-svg-content/reference/mask-text-001-ref.svg
@@ -3,6 +3,7 @@
<g id="testmeta">
<title>CSS Masking: Reftest reference</title>
<html:link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com"/>
+ <html:link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<metadata class="flags">svg</metadata>
</g>
<text fill="#000" font-family="Ahem" font-size="12px" transform="rotate(90 50 50)" x="50" y="50">foobar</text>
diff --git a/tests/wpt/web-platform-tests/css/css-overflow/overflow-no-interpolation.html b/tests/wpt/web-platform-tests/css/css-overflow/overflow-no-interpolation.html
new file mode 100644
index 00000000000..403482fa29a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-overflow/overflow-no-interpolation.html
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<link rel=author href="mailto:jarhar@chromium.org">
+<link rel=help href="https://github.com/w3c/csswg-drafts/issues/4441">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/css/support/interpolation-testcommon.js"></script>
+
+<body>
+<script>
+test_no_interpolation({
+ property: 'overflow-clip-margin',
+ from: 'initial',
+ to: '123px'
+});
+
+test_no_interpolation({
+ property: 'overflow-x',
+ from: 'hidden',
+ to: 'visible'
+});
+
+test_no_interpolation({
+ property: 'overflow-y',
+ from: 'hidden',
+ to: 'visible'
+});
+</script>
diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition-ref.html b/tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition-ref.html
new file mode 100644
index 00000000000..9ec14f60cdd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<title>View transitions: view-transition-name removed mid transition (ref)</title>
+<link rel="help" href="https://github.com/WICG/view-transitions">
+<link rel="author" href="mailto:khushalsagar@chromium.org">
+
+<style>
+.foo {
+ position: fixed;
+ left: 0;
+ top: 0;
+ background: red;
+ width: 100px;
+ height: 100px;
+ z-index: 1000;
+}
+
+.bar {
+ position: fixed;
+ left: 50px;
+ top: 50px;
+ background: green;
+ width: 100px;
+ height: 100px;
+}
+</style>
+
+<div class="target" id="target">
+ <div class="foo"></div>
+</div>
+<div class="bar"></div>
+
diff --git a/tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition.html b/tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition.html
new file mode 100644
index 00000000000..b18df685118
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-view-transitions/view-transition-name-removed-mid-transition.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html class=reftest-wait>
+<title>View transitions: view-transition-name removed mid transition</title>
+<link rel="help" href="https://github.com/WICG/view-transitions">
+<link rel="author" href="mailto:khushalsagar@chromium.org">
+<link rel="match" href="view-transition-name-removed-mid-transition-ref.html">
+
+<script src="/common/reftest-wait.js"></script>
+<style>
+.target {
+ view-transition-name:foo;
+}
+
+.foo {
+ position: fixed;
+ left: 0;
+ top: 0;
+ background: red;
+ width: 100px;
+ height: 100px;
+ z-index: 1000;
+}
+
+.bar {
+ position: fixed;
+ left: 50px;
+ top: 50px;
+ background: green;
+ width: 100px;
+ height: 100px;
+}
+</style>
+
+<div class="target" id="target">
+ <div class="foo"></div>
+</div>
+<div class="bar"></div>
+
+<script>
+failIfNot(document.startViewTransition, "Missing document.startViewTransition");
+
+async function runTest() {
+ let transition = document.startViewTransition();
+ await transition.ready;
+ target.style.viewTransitionName = "none";
+ await transition.finished;
+ takeScreenshot();
+}
+onload = () => requestAnimationFrame(() => requestAnimationFrame(runTest));
+</script>
diff --git a/tests/wpt/web-platform-tests/docs/requirements.txt b/tests/wpt/web-platform-tests/docs/requirements.txt
index 1cdeadd2dcc..0ad8484f60b 100644
--- a/tests/wpt/web-platform-tests/docs/requirements.txt
+++ b/tests/wpt/web-platform-tests/docs/requirements.txt
@@ -1,6 +1,6 @@
recommonmark==0.7.1
sphinx-argparse==0.3.1
sphinx-autobuild==2021.3.14
-sphinx-js==3.1.2
+sphinx-js==3.2.1
sphinx==4.4.0
markupsafe==2.0.1
diff --git a/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md b/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md
index f47396acc3c..3865038ef68 100644
--- a/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md
+++ b/tests/wpt/web-platform-tests/docs/running-tests/from-local-system.md
@@ -7,7 +7,7 @@ The tests are designed to be run from your local computer.
Running the tests requires `python`, `pip` and `virtualenv`, as well as updating
the system `hosts` file.
-WPT requires Python 3.6 or higher.
+WPT requires Python 3.7 or higher.
The required setup is different depending on your operating system.
diff --git a/tests/wpt/web-platform-tests/fetch/range/blob.any.js b/tests/wpt/web-platform-tests/fetch/range/blob.any.js
index f3eb313b34b..2f1bf5c2536 100644
--- a/tests/wpt/web-platform-tests/fetch/range/blob.any.js
+++ b/tests/wpt/web-platform-tests/fetch/range/blob.any.js
@@ -46,6 +46,33 @@ const supportedBlobRange = [
content_range: "bytes 4-12/13",
result: "much here",
},
+ {
+ name: "Blob range with whitespace before and after hyphen",
+ data: ["Valid whitespace #1"],
+ type: "text/plain",
+ range: "bytes=5 - 10",
+ content_length: 6,
+ content_range: "bytes 5-10/19",
+ result: " white",
+ },
+ {
+ name: "Blob range with whitespace after hyphen",
+ data: ["Valid whitespace #2"],
+ type: "text/plain",
+ range: "bytes=-\t 5",
+ content_length: 5,
+ content_range: "bytes 14-18/19",
+ result: "ce #2",
+ },
+ {
+ name: "Blob range with whitespace around equals sign",
+ data: ["Valid whitespace #3"],
+ type: "text/plain",
+ range: "bytes \t =\t 6",
+ content_length: 13,
+ content_range: "bytes 6-18/19",
+ result: "whitespace #3",
+ },
];
const unsupportedBlobRange = [
@@ -82,22 +109,6 @@ const unsupportedBlobRange = [
}
},
{
- name: "Blob range with invalid whitespace in range #1",
- data: ["Invalid whitespace #1"],
- type: "text/plain",
- headers: {
- "Range": "bytes=5 - 10"
- }
- },
- {
- name: "Blob range with invalid whitespace in range #2",
- data: ["Invalid whitespace #2"],
- type: "text/plain",
- headers: {
- "Range": "bytes=-\t 5"
- }
- },
- {
name: "Blob range request with short range end",
data: ["Range end should be greater than range start"],
type: "text/plain" ,
@@ -163,12 +174,12 @@ const unsupportedBlobRange = [
},
];
-
supportedBlobRange.forEach(({ name, data, type, range, content_length, content_range, result }) => {
- promise_test(async () => {
- let blob = new Blob(data, { "type" : type });
- return fetch(URL.createObjectURL(blob), {
- "method": "GET",
+ promise_test(async t => {
+ const blob = new Blob(data, { "type" : type });
+ const blobURL = URL.createObjectURL(blob);
+ t.add_cleanup(() => URL.revokeObjectURL(blobURL));
+ return fetch(blobURL, {
"headers": {
"Range": range
}
@@ -186,12 +197,13 @@ supportedBlobRange.forEach(({ name, data, type, range, content_length, content_r
});
unsupportedBlobRange.forEach(({ name, data, type, headers }) => {
- promise_test(function(test) {
- let blob = new Blob(data, { "type" : type });
- let promise = fetch(URL.createObjectURL(blob), {
- "method": "GET",
+ promise_test(t => {
+ const blob = new Blob(data, { "type" : type });
+ const blobURL = URL.createObjectURL(blob);
+ t.add_cleanup(() => URL.revokeObjectURL(blobURL));
+ const promise = fetch(blobURL, {
"headers": headers,
});
- return promise_rejects_js(test, TypeError, promise);
+ return promise_rejects_js(t, TypeError, promise);
}, name);
});
diff --git a/tests/wpt/web-platform-tests/html/anonymous-iframe/worker-cookies.tentative.https.window.js b/tests/wpt/web-platform-tests/html/anonymous-iframe/worker-cookies.tentative.https.window.js
index 4c29983c2b2..8c25306baf2 100644
--- a/tests/wpt/web-platform-tests/html/anonymous-iframe/worker-cookies.tentative.https.window.js
+++ b/tests/wpt/web-platform-tests/html/anonymous-iframe/worker-cookies.tentative.https.window.js
@@ -25,6 +25,7 @@ const workerFrom = context => {
send(context, `
for(deps of [
"/common/utils.js",
+ "/resources/testharness.js",
"/html/cross-origin-embedder-policy/credentialless/resources/common.js",
]) {
await new Promise(resolve => {
diff --git a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-idl-property.html b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-idl-property.html
index 1e255339f81..7b497ce09e6 100644
--- a/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-idl-property.html
+++ b/tests/wpt/web-platform-tests/html/semantics/popovers/popover-anchor-idl-property.html
@@ -6,11 +6,9 @@
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
-<div>
- <button id=b1>This is an anchor button</button>
- <div popover id=p1 anchor=b1>This is a popover</div>
- <button id=b2 popovertarget=p1>This button invokes the popover but isn't an anchor</button>
-</div>
+<button id=b1>This is an anchor button</button>
+<div popover id=p1 anchor=b1>This is a popover</div>
+<button id=b2 popovertarget=p1>This button invokes the popover but isn't an anchor</button>
<script>
test(function() {
@@ -26,13 +24,11 @@
}, "popover anchorElement is settable");
</script>
-<div>
- <button id=b3>button</button>
- <div id=p2>Anchored div</div>
-</div>
+<button id=b1>button</button>
+<div id=p2>Anchored div</div>
<style>
* {margin:0;padding:0;}
- #b3 {width: 200px;}
+ #b1 {width: 200px;}
#p2 {
position: absolute;
left: anchor(right);
@@ -42,7 +38,7 @@
<script>
test(function() {
assert_equals(p2.anchorElement,null);
- const button = document.getElementById('b3');
+ const button = document.getElementById('b1');
assert_true(!!button);
p2.anchorElement = button;
assert_equals(p2.getAttribute('anchor'),'','Idref should be empty after setting element');
diff --git a/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html b/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html
index 7015fc6b61a..159eaf532f1 100644
--- a/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html
+++ b/tests/wpt/web-platform-tests/media-source/mediasource-buffered.html
@@ -228,6 +228,17 @@
test.done();
});
}, "Get buffered range after removing sourcebuffer.");
+
+ mediasource_test(function(test, mediaElement, mediaSource)
+ {
+ mediaElement.pause();
+ mediaElement.addEventListener("error", test.unreached_func("Unexpected event 'error'"));
+ mediaElement.addEventListener("ended", test.step_func_done());
+
+ var sourceBuffer = mediaSource.addSourceBuffer(MediaSourceUtil.AUDIO_ONLY_TYPE);
+ assert_equals(mediaSource.sourceBuffers[0].buffered , mediaSource.sourceBuffers[0].buffered);
+ test.done();
+ }, "buffered return the same object over multiple calls.");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/resources/test/tox.ini b/tests/wpt/web-platform-tests/resources/test/tox.ini
index cc07e3b028c..4fbeb67fb52 100644
--- a/tests/wpt/web-platform-tests/resources/test/tox.ini
+++ b/tests/wpt/web-platform-tests/resources/test/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py36,py37,py38,py39,py310
+envlist = py37,py38,py39,py310
skipsdist=True
[testenv]
diff --git a/tests/wpt/web-platform-tests/selection/crashtests/selection-modify-around-input.html b/tests/wpt/web-platform-tests/selection/crashtests/selection-modify-around-input.html
new file mode 100644
index 00000000000..24b9ae7d35b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/selection/crashtests/selection-modify-around-input.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+<head>
+<meta charset="utf-8">
+<style>
+div {
+ border: medium solid red;
+ border-width: 32em;
+}
+</style>
+<script>
+document.addEventListener("DOMContentLoaded", () => {
+ document.execCommand("selectAll");
+ getSelection().modify("move", "backward", "character");
+ getSelection().collapseToStart();
+}, {once: true});
+</script>
+</head>
+<body>
+<button contenteditable></button>
+<input value="a">
+<div></div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/tools/ci/requirements_build.txt b/tests/wpt/web-platform-tests/tools/ci/requirements_build.txt
index da3f93cd3db..03fe7d73efa 100644
--- a/tests/wpt/web-platform-tests/tools/ci/requirements_build.txt
+++ b/tests/wpt/web-platform-tests/tools/ci/requirements_build.txt
@@ -1,4 +1,4 @@
-cairocffi==1.3.0
+cairocffi==1.5.0
fonttools==4.33.2
genshi==0.7.7
jinja2==3.1.2
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
index fe24199cae1..29f397e8240 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/tasks/test.yml
@@ -108,14 +108,14 @@ components:
browser-servo: {}
- tox-python3_6:
+ tox-python3_7:
env:
- TOXENV: py36
+ TOXENV: py37
PY_COLORS: "0"
install:
- - python3.6
- - python3.6-distutils
- - python3.6-dev
+ - python3.7
+ - python3.7-distutils
+ - python3.7-dev
tox-python3_10:
env:
@@ -409,13 +409,13 @@ tasks:
- update_built
command: "./tools/ci/ci_built_diff.sh"
- - tools/ unittests (Python 3.6):
+ - tools/ unittests (Python 3.7):
description: >-
- Unit tests for tools running under Python 3.6, excluding wptrunner
+ Unit tests for tools running under Python 3.7, excluding wptrunner
use:
- wpt-base
- trigger-pr
- - tox-python3_6
+ - tox-python3_7
command: ./tools/ci/ci_tools_unittest.sh
env:
HYPOTHESIS_PROFILE: ci
@@ -437,13 +437,13 @@ tasks:
run-job:
- tools_unittest
- - tools/ integration tests (Python 3.6):
+ - tools/ integration tests (Python 3.7):
description: >-
- Integration tests for tools running under Python 3.6
+ Integration tests for tools running under Python 3.7
use:
- wpt-base
- trigger-pr
- - tox-python3_6
+ - tox-python3_7
command: ./tools/ci/ci_tools_integration_test.sh
install:
- libnss3-tools
@@ -481,13 +481,13 @@ tasks:
run-job:
- wpt_integration
- - resources/ tests (Python 3.6):
+ - resources/ tests (Python 3.7):
description: >-
- Tests for testharness.js and other files in resources/ under Python 3.6
+ Tests for testharness.js and other files in resources/ under Python 3.7
use:
- wpt-base
- trigger-pr
- - tox-python3_6
+ - tox-python3_7
command: ./tools/ci/ci_resources_unittest.sh
install:
- libnss3-tools
diff --git a/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py b/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
index 31c07943cad..36833ec51eb 100644
--- a/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
+++ b/tests/wpt/web-platform-tests/tools/ci/tc/tests/test_valid.py
@@ -153,11 +153,11 @@ def test_verify_payload():
'lint']),
("pr_event.json", True, {".taskcluster.yml", ".travis.yml", "tools/ci/start.sh"},
['lint',
- 'tools/ unittests (Python 3.6)',
+ 'tools/ unittests (Python 3.7)',
'tools/ unittests (Python 3.10)',
- 'tools/ integration tests (Python 3.6)',
+ 'tools/ integration tests (Python 3.7)',
'tools/ integration tests (Python 3.10)',
- 'resources/ tests (Python 3.6)',
+ 'resources/ tests (Python 3.7)',
'resources/ tests (Python 3.10)',
'download-firefox-nightly',
'infrastructure/ tests',
@@ -175,7 +175,7 @@ def test_verify_payload():
'sink-task']),
("pr_event_tests_affected.json", True, {"resources/testharness.js"},
['lint',
- 'resources/ tests (Python 3.6)',
+ 'resources/ tests (Python 3.7)',
'resources/ tests (Python 3.10)',
'download-firefox-nightly',
'infrastructure/ tests',
diff --git a/tests/wpt/web-platform-tests/tools/docker/Dockerfile b/tests/wpt/web-platform-tests/tools/docker/Dockerfile
index b7eae6440d9..73db1469994 100644
--- a/tests/wpt/web-platform-tests/tools/docker/Dockerfile
+++ b/tests/wpt/web-platform-tests/tools/docker/Dockerfile
@@ -39,7 +39,7 @@ RUN apt-get -qqy update \
wget \
xvfb
-# python3.6 is not available by default in new versions of Ubuntu.
+# Ensure all Python versions are available
RUN apt-add-repository -y ppa:deadsnakes/ppa
# Ensure a `python` binary exists
diff --git a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
index 7ee915ddb12..af7bf35b21a 100644
--- a/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
+++ b/tests/wpt/web-platform-tests/tools/requirements_mypy.txt
@@ -6,7 +6,7 @@ types-atomicwrites==1.4.5
types-python-dateutil==2.8.19
types-PyYAML==6.0.12.3
types-requests==2.28.11.5
-types-setuptools==63.2.3
+types-setuptools==67.6.0.5
types-six==1.16.19
types-ujson==4.2.1
typing-extensions==4.1.1
diff --git a/tests/wpt/web-platform-tests/tools/requirements_pytest.txt b/tests/wpt/web-platform-tests/tools/requirements_pytest.txt
index 14fd0f76927..e7678941a7f 100644
--- a/tests/wpt/web-platform-tests/tools/requirements_pytest.txt
+++ b/tests/wpt/web-platform-tests/tools/requirements_pytest.txt
@@ -1,3 +1,3 @@
pytest==7.0.1
pytest-cov==3.0.0
-hypothesis==6.31.3
+hypothesis==6.70.0
diff --git a/tests/wpt/web-platform-tests/tools/tox.ini b/tests/wpt/web-platform-tests/tools/tox.ini
index b4c250bee45..6a3001e25a0 100644
--- a/tests/wpt/web-platform-tests/tools/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py36,py37,py38,py39,py310,{py36,py37,py38,py39,py310}-{flake8,mypy}
+envlist = py37,py38,py39,py310,{py37,py38,py39,py310}-{flake8,mypy}
skipsdist=True
skip_missing_interpreters=False
diff --git a/tests/wpt/web-platform-tests/tools/wave/tox.ini b/tests/wpt/web-platform-tests/tools/wave/tox.ini
index 5a447b21bfb..e1ee1b52941 100644
--- a/tests/wpt/web-platform-tests/tools/wave/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/wave/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py36,py37,py38,py39,py310
+envlist = py37,py38,py39,py310
skipsdist=True
skip_missing_interpreters = False
diff --git a/tests/wpt/web-platform-tests/tools/webtransport/requirements.txt b/tests/wpt/web-platform-tests/tools/webtransport/requirements.txt
index 4e347c647cc..8743e0317d3 100644
--- a/tests/wpt/web-platform-tests/tools/webtransport/requirements.txt
+++ b/tests/wpt/web-platform-tests/tools/webtransport/requirements.txt
@@ -1,4 +1 @@
-# aioquic 0.9.15 is the last to support Python 3.6, but doesn't have prebuilt
-# wheels for Python 3.10, so use a different version depending on Python.
-aioquic==0.9.15; python_version == '3.6'
-aioquic==0.9.19; python_version != '3.6'
+aioquic==0.9.19
diff --git a/tests/wpt/web-platform-tests/tools/wpt/tox.ini b/tests/wpt/web-platform-tests/tools/wpt/tox.ini
index eda300c3c8c..1062b4a528c 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/wpt/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py36,py37,py38,py39,py310
+envlist = py37,py38,py39,py310
skipsdist=True
skip_missing_interpreters = False
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
index 58641393b83..202e8074133 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements.txt
@@ -6,4 +6,4 @@ mozprocess==1.3.0
pillow==8.4.0
requests==2.27.1
six==1.16.0
-urllib3[secure]==1.26.14
+urllib3[secure]==1.26.15
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_chromium.txt b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_chromium.txt
index 4e347c647cc..8743e0317d3 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/requirements_chromium.txt
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/requirements_chromium.txt
@@ -1,4 +1 @@
-# aioquic 0.9.15 is the last to support Python 3.6, but doesn't have prebuilt
-# wheels for Python 3.10, so use a different version depending on Python.
-aioquic==0.9.15; python_version == '3.6'
-aioquic==0.9.19; python_version != '3.6'
+aioquic==0.9.19
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini b/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini
index 3a1afda2164..82df778f50b 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/tox.ini
@@ -2,7 +2,7 @@
xfail_strict=true
[tox]
-envlist = py310-{base,chrome,edge,firefox,ie,opera,safari,sauce,servo,webkit,webkitgtk_minibrowser,epiphany},{py36,py37,py38,py39}-base
+envlist = py310-{base,chrome,edge,firefox,ie,opera,safari,sauce,servo,webkit,webkitgtk_minibrowser,epiphany},{py37,py38,py39}-base
skip_missing_interpreters = False
[testenv]
diff --git a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
index 4bc193d038b..f62ded610ca 100644
--- a/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
+++ b/tests/wpt/web-platform-tests/tools/wptrunner/wptrunner/executors/base.py
@@ -644,6 +644,7 @@ class WdspecExecutor(TestExecutor):
session_config = {"host": self.browser.host,
"port": self.browser.port,
"capabilities": self.capabilities,
+ "timeout_multiplier": self.timeout_multiplier,
"webdriver": {
"binary": self.webdriver_binary,
"args": self.webdriver_args
diff --git a/tests/wpt/web-platform-tests/url/url-statics-canparse.any.js b/tests/wpt/web-platform-tests/url/url-statics-canparse.any.js
new file mode 100644
index 00000000000..c87fcb4f56f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/url/url-statics-canparse.any.js
@@ -0,0 +1,42 @@
+// This intentionally does not use resources/urltestdata.json to preserve resources.
+[
+ {
+ "url": undefined,
+ "base": undefined,
+ "expected": false
+ },
+ {
+ "url": "a:b",
+ "base": undefined,
+ "expected": true
+ },
+ {
+ "url": undefined,
+ "base": "a:b",
+ "expected": false
+ },
+ {
+ "url": "a:/b",
+ "base": undefined,
+ "expected": true
+ },
+ {
+ "url": undefined,
+ "base": "a:/b",
+ "expected": true
+ },
+ {
+ "url": "https://test:test",
+ "base": undefined,
+ "expected": false
+ },
+ {
+ "url": "a",
+ "base": "https://b/",
+ "expected": true
+ }
+].forEach(({ url, base, expected }) => {
+ test(() => {
+ assert_equals(URL.canParse(url, base), expected);
+ }, `URL.canParse(${url}, ${base})`);
+});
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/conftest.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/conftest.py
deleted file mode 100644
index e4ff5a5ce4b..00000000000
--- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/conftest.py
+++ /dev/null
@@ -1,48 +0,0 @@
-import pytest
-
-
-@pytest.fixture
-def test_origin(url):
- return url("")
-
-
-@pytest.fixture
-def test_alt_origin(url):
- return url("", domain="alt")
-
-
-@pytest.fixture
-def test_page(inline):
- return inline("<div>foo</div>")
-
-
-@pytest.fixture
-def test_page2(inline):
- return inline("<div>bar</div>")
-
-
-@pytest.fixture
-def test_page_cross_origin(inline):
- return inline("<div>bar</div>", domain="alt")
-
-
-@pytest.fixture
-def test_page_multiple_frames(inline, test_page, test_page2):
- return inline(
- f"<iframe src='{test_page}'></iframe><iframe src='{test_page2}'></iframe>"
- )
-
-
-@pytest.fixture
-def test_page_nested_frames(inline, test_page_same_origin_frame):
- return inline(f"<iframe src='{test_page_same_origin_frame}'></iframe>")
-
-
-@pytest.fixture
-def test_page_cross_origin_frame(inline, test_page_cross_origin):
- return inline(f"<iframe src='{test_page_cross_origin}'></iframe>")
-
-
-@pytest.fixture
-def test_page_same_origin_frame(inline, test_page):
- return inline(f"<iframe src='{test_page}'></iframe>")
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py
index 84932977229..7621b448100 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/bidi/network/response_completed/response_completed_cached_tentative.py
@@ -145,17 +145,9 @@ async def test_cached_redirect(
)
-@pytest.mark.parametrize(
- "method",
- [
- "GET",
- "HEAD",
- "OPTIONS",
- ],
-)
@pytest.mark.asyncio
async def test_cached_revalidate(
- bidi_session, top_context, wait_for_event, url, fetch, setup_network_test, method
+ bidi_session, top_context, wait_for_event, url, fetch, setup_network_test
):
network_events = await setup_network_test(
events=[
@@ -168,11 +160,11 @@ async def test_cached_revalidate(
f"/webdriver/tests/support/http_handlers/must-revalidate.py?nocache={random.random()}"
)
on_response_completed = wait_for_event("network.responseCompleted")
- await fetch(revalidate_url, method=method)
+ await fetch(revalidate_url)
await on_response_completed
assert len(events) == 1
- expected_request = {"method": method, "url": revalidate_url}
+ expected_request = {"method": "GET", "url": revalidate_url}
expected_response = {
"url": revalidate_url,
"fromCache": False,
@@ -188,7 +180,7 @@ async def test_cached_revalidate(
# Note that we pass a specific header so that the must-revalidate.py handler
# can decide to return a 304 without having to use another URL.
- await fetch(revalidate_url, method=method, headers={"return-304": "true"})
+ await fetch(revalidate_url, headers={"return-304": "true"})
await on_response_completed
assert len(events) == 2
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/find_element_from_shadow_root/find.py b/tests/wpt/web-platform-tests/webdriver/tests/find_element_from_shadow_root/find.py
index 3d125a0f215..62a5bc60f54 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/find_element_from_shadow_root/find.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/find_element_from_shadow_root/find.py
@@ -113,6 +113,14 @@ def test_no_such_element_with_unknown_selector(session, get_test_page, selector)
assert_error(response, "no such element")
+@pytest.mark.parametrize("shadow_root_id", [True, None, 1, [], {}])
+def test_invalid_shadow_root_id_argument(session, get_test_page, shadow_root_id):
+ session.url = get_test_page()
+
+ response = find_element(session, shadow_root_id, "css selector", "input")
+ assert_error(response, "no such shadow root")
+
+
@pytest.mark.parametrize("using", ["a", True, None, 1, [], {}])
def test_invalid_using_argument(session, get_test_page, using):
session.url = get_test_page()
@@ -154,19 +162,23 @@ def test_found_element_equivalence(session, get_test_page):
("partial link text", "link text"),
("tag name", "a"),
("xpath", "//a")])
-def test_find_element(session, get_test_page, using, value):
- session.url = get_test_page(shadow_doc="<div><a href=# id=linkText>full link text</a></div>")
+@pytest.mark.parametrize("mode", ["open", "closed"])
+def test_find_element(session, get_test_page, using, value, mode):
+ session.url = get_test_page(
+ shadow_doc="<div><a href=# id=linkText>full link text</a></div>",
+ shadow_root_mode=mode,
+ )
+ shadow_root = session.find.css("custom-element", all=False).shadow_root
- host = session.find.css("custom-element", all=False)
- shadow_root = host.shadow_root
+ response = find_element(session, shadow_root.id, using, value)
+ response_value = assert_success(response)
+ # Script evaluation cannot use the DOM within a closed shadow root,
+ # that's why we assert on the copy of the shadow root on window.
expected = session.execute_script("""
- return arguments[0].shadowRoot.querySelector('#linkText')
- """, args=(host,))
-
- response = find_element(session, shadow_root.id, using, value)
- value = assert_success(response)
- assert_same_element(session, value, expected)
+ return window._shadowRoot.querySelector('#linkText')
+ """)
+ assert_same_element(session, response_value, expected)
@pytest.mark.parametrize("document,value", [
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/find_elements_from_shadow_root/find.py b/tests/wpt/web-platform-tests/webdriver/tests/find_elements_from_shadow_root/find.py
index 7f2685b3b55..db739fd440f 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/find_elements_from_shadow_root/find.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/find_elements_from_shadow_root/find.py
@@ -114,6 +114,14 @@ def test_no_elements_with_unknown_selector(session, get_test_page,selector):
assert elements == []
+@pytest.mark.parametrize("shadow_root_id", [True, None, 1, [], {}])
+def test_invalid_shadow_root_id_argument(session, get_test_page, shadow_root_id):
+ session.url = get_test_page()
+
+ response = find_elements(session, shadow_root_id, ("css selector"), "input")
+ assert_error(response, "no such shadow root")
+
+
@pytest.mark.parametrize("using", [("a"), (True), (None), (1), ([]), ({})])
def test_invalid_using_argument(session, get_test_page, using):
session.url = get_test_page()
@@ -155,14 +163,25 @@ def test_find_elements_equivalence(session, get_test_page):
("partial link text", "link text"),
("tag name", "a"),
("xpath", "//a")])
-def test_find_elements(session, get_test_page, using, value):
- session.url = get_test_page(shadow_doc="<div><a href=# id=linkText>full link text</a></div>")
-
- host = session.find.css("custom-element", all=False)
- shadow_root = host.shadow_root
+@pytest.mark.parametrize("mode", ["open", "closed"])
+def test_find_elements(session, get_test_page, using, value, mode):
+ session.url = get_test_page(
+ shadow_doc="<div><a href=# id=linkText>full link text</a></div>",
+ shadow_root_mode=mode,
+ )
+ shadow_root = session.find.css("custom-element", all=False).shadow_root
response = find_elements(session, shadow_root.id, using, value)
- assert_success(response)
+ response_value = assert_success(response)
+
+ assert len(response_value) == 1
+
+ # Script evaluation cannot use the DOM within a closed shadow root,
+ # that's why we assert on the copy of the shadow root on window.
+ expected = session.execute_script("""
+ return window._shadowRoot.querySelector('#linkText')
+ """)
+ assert_same_element(session, response_value[0], expected)
@pytest.mark.parametrize("document,value", [
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/get_timeouts/get.py b/tests/wpt/web-platform-tests/webdriver/tests/get_timeouts/get.py
index 9601c00d903..aa02c0990e1 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/get_timeouts/get.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/get_timeouts/get.py
@@ -23,15 +23,6 @@ def test_get_timeouts(session):
assert isinstance(value["pageLoad"], int)
-def test_get_default_timeouts(session):
- response = get_timeouts(session)
-
- assert_success(response)
- assert response.body["value"]["script"] == 30000
- assert response.body["value"]["implicit"] == 0
- assert response.body["value"]["pageLoad"] == 300000
-
-
def test_get_new_timeouts(session):
session.timeouts.script = 60
session.timeouts.implicit = 1
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py b/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py
index 4a08d921a3b..d0a08698d6c 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/support/fixtures.py
@@ -14,13 +14,14 @@ from tests.support.inline import build_inline
from tests.support.http_request import HTTPRequest
+SCRIPT_TIMEOUT = 1
+PAGE_LOAD_TIMEOUT = 3
+IMPLICIT_WAIT_TIMEOUT = 0
+
# The webdriver session can outlive a pytest session
_current_session = None
-_custom_session = False
-
-
def pytest_configure(config):
# register the capabilities marker
config.addinivalue_line(
@@ -63,6 +64,7 @@ def full_configuration():
host - WebDriver server host.
port - WebDriver server port.
capabilites - Capabilites passed when creating the WebDriver session
+ timeout_multiplier - Multiplier for timeout values
webdriver - Dict with keys `binary`: path to webdriver binary, and
`args`: Additional command line arguments passed to the webdriver
binary. This doesn't include all the required arguments e.g. the
@@ -137,6 +139,12 @@ async def session(capabilities, configuration):
_current_session.window.size = defaults.WINDOW_SIZE
_current_session.window.position = defaults.WINDOW_POSITION
+ # Set default timeouts
+ multiplier = configuration["timeout_multiplier"]
+ _current_session.timeouts.implicit = IMPLICIT_WAIT_TIMEOUT * multiplier
+ _current_session.timeouts.page_load = PAGE_LOAD_TIMEOUT * multiplier
+ _current_session.timeouts.script = SCRIPT_TIMEOUT * multiplier
+
yield _current_session
cleanup_session(_current_session)
@@ -238,14 +246,14 @@ def iframe(inline):
return iframe
-
@pytest.fixture
def get_test_page(iframe, inline):
def get_test_page(
as_frame=False,
frame_doc=None,
shadow_doc=None,
- nested_shadow_dom=False
+ nested_shadow_dom=False,
+ shadow_root_mode="open"
):
if frame_doc is None:
frame_doc = """<div id="in-frame"><input type="checkbox"/></div>"""
@@ -260,7 +268,7 @@ def get_test_page(iframe, inline):
class extends HTMLElement {{
constructor() {{
super();
- this.attachShadow({{mode: "open"}}).innerHTML = `
+ this.attachShadow({{mode: "{shadow_root_mode}"}}).innerHTML = `
{shadow_doc}
`;
}}
@@ -308,7 +316,11 @@ def get_test_page(iframe, inline):
class extends HTMLElement {{
constructor() {{
super();
- this.attachShadow({{mode: "open"}}).innerHTML = `{shadow_doc}`;
+ const shadowRoot = this.attachShadow({{mode: "{shadow_root_mode}"}});
+ shadowRoot.innerHTML = `{shadow_doc}`;
+
+ // Save shadow root on window to access it in case of `closed` mode.
+ window._shadowRoot = shadowRoot;
}}
}}
);
@@ -324,6 +336,53 @@ def get_test_page(iframe, inline):
@pytest.fixture
+def test_origin(url):
+ return url("")
+
+
+@pytest.fixture
+def test_alt_origin(url):
+ return url("", domain="alt")
+
+
+@pytest.fixture
+def test_page(inline):
+ return inline("<div>foo</div>")
+
+
+@pytest.fixture
+def test_page2(inline):
+ return inline("<div>bar</div>")
+
+
+@pytest.fixture
+def test_page_cross_origin(inline):
+ return inline("<div>bar</div>", domain="alt")
+
+
+@pytest.fixture
+def test_page_multiple_frames(inline, test_page, test_page2):
+ return inline(
+ f"<iframe src='{test_page}'></iframe><iframe src='{test_page2}'></iframe>"
+ )
+
+
+@pytest.fixture
+def test_page_nested_frames(inline, test_page_same_origin_frame):
+ return inline(f"<iframe src='{test_page_same_origin_frame}'></iframe>")
+
+
+@pytest.fixture
+def test_page_cross_origin_frame(inline, test_page_cross_origin):
+ return inline(f"<iframe src='{test_page_cross_origin}'></iframe>")
+
+
+@pytest.fixture
+def test_page_same_origin_frame(inline, test_page):
+ return inline(f"<iframe src='{test_page}'></iframe>")
+
+
+@pytest.fixture
def test_page_with_pdf_js(inline):
"""Prepare an url to load a PDF document in the browser using pdf.js"""
def test_page_with_pdf_js(encoded_pdf_data):
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_max.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_max.json
index a1eb6d2b831..4dd7098d03f 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_max.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_max.json
@@ -252,57 +252,6 @@
}
},
{
- "name": "reduceMax float32 3D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 3, 4],
- "data": [
- 32.166585683408215,
- 90.42288038051404,
- -26.341795469529572,
- -7.147959324354275,
- 75.90379209491468,
- -48.204211355965356,
- -53.094252997077795,
- 66.66099234322033,
- -96.16854360851454,
- -88.30545253131574,
- 94.99645116994563,
- 37.28493087456198,
- -42.209860696518845,
- 96.55397216250705,
- 0.8807230095547567,
- 62.504641219832195,
- 36.650633791794576,
- 99.77313292829271,
- -72.86485546227293,
- -46.03200926418318,
- 20.253753500247612,
- -21.55738542170144,
- -51.287275192229046,
- -42.588327517032454
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-1]
- },
- "expected": {
- "name": "output",
- "shape": [2, 3],
- "data": [
- 90.42288208007812,
- 75.90379333496094,
- 94.99645233154297,
- 96.55397033691406,
- 99.77313232421875,
- 20.253753662109375
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceMax float32 4D tensor options.axes",
"inputs": {
"input": {
@@ -354,57 +303,6 @@
}
},
{
- "name": "reduceMax float32 4D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 32.166585683408215,
- 90.42288038051404,
- -26.341795469529572,
- -7.147959324354275,
- 75.90379209491468,
- -48.204211355965356,
- -53.094252997077795,
- 66.66099234322033,
- -96.16854360851454,
- -88.30545253131574,
- 94.99645116994563,
- 37.28493087456198,
- -42.209860696518845,
- 96.55397216250705,
- 0.8807230095547567,
- 62.504641219832195,
- 36.650633791794576,
- 99.77313292829271,
- -72.86485546227293,
- -46.03200926418318,
- 20.253753500247612,
- -21.55738542170144,
- -51.287275192229046,
- -42.588327517032454
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-4, -2]
- },
- "expected": {
- "name": "output",
- "shape": [2, 3],
- "data": [
- 62.504642486572266,
- 96.55397033691406,
- 99.77313232421875,
- -21.557384490966797,
- 94.99645233154297,
- 37.28493118286133
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceMax float32 3D tensor options.keepDimensions=false",
"inputs": {
"input": {
@@ -679,104 +577,6 @@
],
"type": "float32"
}
- },
- {
- "name": "reduceMax float32 4D tensor negative options.axes with options.keepDimensions=false",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 32.166585683408215,
- 90.42288038051404,
- -26.341795469529572,
- -7.147959324354275,
- 75.90379209491468,
- -48.204211355965356,
- -53.094252997077795,
- 66.66099234322033,
- -96.16854360851454,
- -88.30545253131574,
- 94.99645116994563,
- 37.28493087456198,
- -42.209860696518845,
- 96.55397216250705,
- 0.8807230095547567,
- 62.504641219832195,
- 36.650633791794576,
- 99.77313292829271,
- -72.86485546227293,
- -46.03200926418318,
- 20.253753500247612,
- -21.55738542170144,
- -51.287275192229046,
- -42.588327517032454
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [1, -1]
- },
- "expected": {
- "name": "output",
- "shape": [2, 2],
- "data": [
- 90.42288208007812,
- 94.99645233154297,
- 96.55397033691406,
- 99.77313232421875
- ],
- "type": "float32"
- }
- },
- {
- "name": "reduceMax float32 4D tensor negative options.axes with options.keepDimensions=true",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 32.166585683408215,
- 90.42288038051404,
- -26.341795469529572,
- -7.147959324354275,
- 75.90379209491468,
- -48.204211355965356,
- -53.094252997077795,
- 66.66099234322033,
- -96.16854360851454,
- -88.30545253131574,
- 94.99645116994563,
- 37.28493087456198,
- -42.209860696518845,
- 96.55397216250705,
- 0.8807230095547567,
- 62.504641219832195,
- 36.650633791794576,
- 99.77313292829271,
- -72.86485546227293,
- -46.03200926418318,
- 20.253753500247612,
- -21.55738542170144,
- -51.287275192229046,
- -42.588327517032454
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-3, 3]
- },
- "expected": {
- "name": "output",
- "shape": [1, 2, 2, 1],
- "data": [
- 90.42288208007812,
- 94.99645233154297,
- 96.55397033691406,
- 99.77313232421875
- ],
- "type": "float32"
- }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_mean.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_mean.json
index af353b5ad11..adc29023f89 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_mean.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_mean.json
@@ -371,56 +371,6 @@
}
},
{
- "name": "reduceMean float32 3D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 3, 4],
- "data": [
- 95.84498772347054,
- 75.69370054099012,
- 1.5417720846181426,
- 8.787033906673592,
- 70.08280339173061,
- 13.784331379836544,
- 20.006068194857885,
- 94.80963809344851,
- 25.829190184293417,
- 94.13260521032214,
- 67.72958187044576,
- 16.099351117563778,
- 92.19433555001908,
- 11.567352371276595,
- 52.705496151946285,
- 22.471793133903972,
- 3.6623324286590764,
- 20.2102781903039,
- 58.56523137489753,
- 28.673493080608758,
- 42.134198143189195,
- 21.637750690378144,
- 14.160698325191756,
- 15.127351396412191
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-1]
- },
- "expected": {
- "shape": [2, 3],
- "data": [
- 45.46687316894531,
- 49.670711517333984,
- 50.94768142700195,
- 44.734745025634766,
- 27.777833938598633,
- 23.264999389648438
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceMean float32 4D tensor options.axes",
"inputs": {
"input": {
@@ -471,56 +421,6 @@
}
},
{
- "name": "reduceMean float32 4D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 95.84498772347054,
- 75.69370054099012,
- 1.5417720846181426,
- 8.787033906673592,
- 70.08280339173061,
- 13.784331379836544,
- 20.006068194857885,
- 94.80963809344851,
- 25.829190184293417,
- 94.13260521032214,
- 67.72958187044576,
- 16.099351117563778,
- 92.19433555001908,
- 11.567352371276595,
- 52.705496151946285,
- 22.471793133903972,
- 3.6623324286590764,
- 20.2102781903039,
- 58.56523137489753,
- 28.673493080608758,
- 42.134198143189195,
- 21.637750690378144,
- 14.160698325191756,
- 15.127351396412191
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-4, -2]
- },
- "expected": {
- "shape": [2, 3],
- "data": [
- 54.82453536987305,
- 40.251548767089844,
- 22.060470581054688,
- 48.58541488647461,
- 51.343353271484375,
- 24.797523498535156
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceMean float32 3D tensor options.keepDimensions=false",
"inputs": {
"input": {
@@ -785,102 +685,6 @@
],
"type": "float32"
}
- },
- {
- "name": "reduceMean float32 4D tensor negative options.axes with options.keepDimensions=false",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 95.84498772347054,
- 75.69370054099012,
- 1.5417720846181426,
- 8.787033906673592,
- 70.08280339173061,
- 13.784331379836544,
- 20.006068194857885,
- 94.80963809344851,
- 25.829190184293417,
- 94.13260521032214,
- 67.72958187044576,
- 16.099351117563778,
- 92.19433555001908,
- 11.567352371276595,
- 52.705496151946285,
- 22.471793133903972,
- 3.6623324286590764,
- 20.2102781903039,
- 58.56523137489753,
- 28.673493080608758,
- 42.134198143189195,
- 21.637750690378144,
- 14.160698325191756,
- 15.127351396412191
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [1, -1]
- },
- "expected": {
- "shape": [2, 2],
- "data": [
- 52.287559509277344,
- 45.10261917114258,
- 47.640018463134766,
- 16.211700439453125
- ],
- "type": "float32"
- }
- },
- {
- "name": "reduceMean float32 4D tensor negative options.axes with options.keepDimensions=true",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 95.84498772347054,
- 75.69370054099012,
- 1.5417720846181426,
- 8.787033906673592,
- 70.08280339173061,
- 13.784331379836544,
- 20.006068194857885,
- 94.80963809344851,
- 25.829190184293417,
- 94.13260521032214,
- 67.72958187044576,
- 16.099351117563778,
- 92.19433555001908,
- 11.567352371276595,
- 52.705496151946285,
- 22.471793133903972,
- 3.6623324286590764,
- 20.2102781903039,
- 58.56523137489753,
- 28.673493080608758,
- 42.134198143189195,
- 21.637750690378144,
- 14.160698325191756,
- 15.127351396412191
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-3, 3]
- },
- "expected": {
- "shape": [1, 2, 2, 1],
- "data": [
- 52.287559509277344,
- 45.10261917114258,
- 47.640018463134766,
- 16.211700439453125
- ],
- "type": "float32"
- }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_min.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_min.json
index 8db681d7ea4..db6c0e22695 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_min.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_min.json
@@ -252,57 +252,6 @@
}
},
{
- "name": "reduceMin float32 3D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 3, 4],
- "data": [
- -58.76195671214997,
- -87.962299829198,
- -70.13690195964651,
- -53.61766646981643,
- -39.50931280469092,
- 76.48815138549966,
- -18.705087479309455,
- 44.78261924634546,
- 30.70233967738929,
- 61.463613873181146,
- 77.84043646028437,
- -53.747413472322414,
- -31.713543832764827,
- -9.735438243016588,
- 77.93652481771113,
- 99.01705821629525,
- 73.39929943432298,
- 92.08459468237234,
- -59.40851905900759,
- -84.40769111096932,
- 75.88834177123843,
- 96.02651672898816,
- -55.976554418350545,
- -1.791101785391234
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-1]
- },
- "expected": {
- "name": "output",
- "shape": [2, 3],
- "data": [
- -87.9623031616211,
- -39.50931167602539,
- -53.747413635253906,
- -31.713542938232422,
- -84.4076919555664,
- -55.97655487060547
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceMin float32 4D tensor options.axes",
"inputs": {
"input": {
@@ -354,57 +303,6 @@
}
},
{
- "name": "reduceMin float32 4D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- -58.76195671214997,
- -87.962299829198,
- -70.13690195964651,
- -53.61766646981643,
- -39.50931280469092,
- 76.48815138549966,
- -18.705087479309455,
- 44.78261924634546,
- 30.70233967738929,
- 61.463613873181146,
- 77.84043646028437,
- -53.747413472322414,
- -31.713543832764827,
- -9.735438243016588,
- 77.93652481771113,
- 99.01705821629525,
- 73.39929943432298,
- 92.08459468237234,
- -59.40851905900759,
- -84.40769111096932,
- 75.88834177123843,
- 96.02651672898816,
- -55.976554418350545,
- -1.791101785391234
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-4, -2]
- },
- "expected": {
- "name": "output",
- "shape": [2, 3],
- "data": [
- -58.76195526123047,
- -87.9623031616211,
- -70.13690185546875,
- -59.40851974487305,
- -84.4076919555664,
- -53.747413635253906
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceMin float32 3D tensor options.keepDimensions=false",
"inputs": {
"input": {
@@ -679,104 +577,6 @@
],
"type": "float32"
}
- },
- {
- "name": "reduceMin float32 4D tensor negative options.axes with options.keepDimensions=false",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- -58.76195671214997,
- -87.962299829198,
- -70.13690195964651,
- -53.61766646981643,
- -39.50931280469092,
- 76.48815138549966,
- -18.705087479309455,
- 44.78261924634546,
- 30.70233967738929,
- 61.463613873181146,
- 77.84043646028437,
- -53.747413472322414,
- -31.713543832764827,
- -9.735438243016588,
- 77.93652481771113,
- 99.01705821629525,
- 73.39929943432298,
- 92.08459468237234,
- -59.40851905900759,
- -84.40769111096932,
- 75.88834177123843,
- 96.02651672898816,
- -55.976554418350545,
- -1.791101785391234
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [1, -1]
- },
- "expected": {
- "name": "output",
- "shape": [2, 2],
- "data": [
- -87.9623031616211,
- -53.747413635253906,
- -84.4076919555664,
- -55.97655487060547
- ],
- "type": "float32"
- }
- },
- {
- "name": "reduceMin float32 4D tensor negative options.axes with options.keepDimensions=true",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- -58.76195671214997,
- -87.962299829198,
- -70.13690195964651,
- -53.61766646981643,
- -39.50931280469092,
- 76.48815138549966,
- -18.705087479309455,
- 44.78261924634546,
- 30.70233967738929,
- 61.463613873181146,
- 77.84043646028437,
- -53.747413472322414,
- -31.713543832764827,
- -9.735438243016588,
- 77.93652481771113,
- 99.01705821629525,
- 73.39929943432298,
- 92.08459468237234,
- -59.40851905900759,
- -84.40769111096932,
- 75.88834177123843,
- 96.02651672898816,
- -55.976554418350545,
- -1.791101785391234
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-3, 3]
- },
- "expected": {
- "name": "output",
- "shape": [1, 2, 2, 1],
- "data": [
- -87.9623031616211,
- -53.747413635253906,
- -84.4076919555664,
- -55.97655487060547
- ],
- "type": "float32"
- }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_product.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_product.json
index 24c60f89359..60484300bca 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_product.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_product.json
@@ -252,57 +252,6 @@
}
},
{
- "name": "reduceProduct float32 3D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 3, 4],
- "data": [
- -68.75911760233478,
- 99.4496130391401,
- 24.860555622046746,
- -44.23515424391753,
- -22.69974404385384,
- 79.97555172142995,
- 14.46502415218545,
- 49.231095225588376,
- 30.058706923717068,
- 69.45106401985521,
- -20.15709647137976,
- -58.02551401530734,
- 51.89660954258355,
- -2.020799112914105,
- 39.392973241316554,
- 26.780734701055266,
- -97.97651593223856,
- 48.66154478867011,
- -85.19523905815305,
- -18.169861657911653,
- 64.83759066937682,
- -14.958838503675935,
- -74.50931980014732,
- -11.319679210869765
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-1]
- },
- "expected": {
- "name": "output",
- "shape": [2, 3],
- "data": [
- 7519895,
- -1292816.375,
- 2441721.75,
- -110637.7734375,
- -7380313.5,
- -818030.5
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceProduct float32 4D tensor options.axes",
"inputs": {
"input": {
@@ -354,57 +303,6 @@
}
},
{
- "name": "reduceProduct float32 4D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- -68.75911760233478,
- 99.4496130391401,
- 24.860555622046746,
- -44.23515424391753,
- -22.69974404385384,
- 79.97555172142995,
- 14.46502415218545,
- 49.231095225588376,
- 30.058706923717068,
- 69.45106401985521,
- -20.15709647137976,
- -58.02551401530734,
- 51.89660954258355,
- -2.020799112914105,
- 39.392973241316554,
- 26.780734701055266,
- -97.97651593223856,
- 48.66154478867011,
- -85.19523905815305,
- -18.169861657911653,
- 64.83759066937682,
- -14.958838503675935,
- -74.50931980014732,
- -11.319679210869765
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-4, -2]
- },
- "expected": {
- "name": "output",
- "shape": [2, 3],
- "data": [
- 4227263.5,
- -446960.5625,
- 3811296.75,
- 1280298.5,
- -1343475.375,
- 1280118.75
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceProduct float32 3D tensor options.keepDimensions=false",
"inputs": {
"input": {
@@ -679,104 +577,6 @@
],
"type": "float32"
}
- },
- {
- "name": "reduceProduct float32 4D tensor negative options.axes with options.keepDimensions=false",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- -68.75911760233478,
- 99.4496130391401,
- 24.860555622046746,
- -44.23515424391753,
- -22.69974404385384,
- 79.97555172142995,
- 14.46502415218545,
- 49.231095225588376,
- 30.058706923717068,
- 69.45106401985521,
- -20.15709647137976,
- -58.02551401530734,
- 51.89660954258355,
- -2.020799112914105,
- 39.392973241316554,
- 26.780734701055266,
- -97.97651593223856,
- 48.66154478867011,
- -85.19523905815305,
- -18.169861657911653,
- 64.83759066937682,
- -14.958838503675935,
- -74.50931980014732,
- -11.319679210869765
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [1, -1]
- },
- "expected": {
- "name": "output",
- "shape": [2, 2],
- "data": [
- -3638925568,
- 6523364352,
- -414643360,
- 1610916352
- ],
- "type": "float32"
- }
- },
- {
- "name": "reduceProduct float32 4D tensor negative options.axes with options.keepDimensions=true",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- -68.75911760233478,
- 99.4496130391401,
- 24.860555622046746,
- -44.23515424391753,
- -22.69974404385384,
- 79.97555172142995,
- 14.46502415218545,
- 49.231095225588376,
- 30.058706923717068,
- 69.45106401985521,
- -20.15709647137976,
- -58.02551401530734,
- 51.89660954258355,
- -2.020799112914105,
- 39.392973241316554,
- 26.780734701055266,
- -97.97651593223856,
- 48.66154478867011,
- -85.19523905815305,
- -18.169861657911653,
- 64.83759066937682,
- -14.958838503675935,
- -74.50931980014732,
- -11.319679210869765
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-3, 3]
- },
- "expected": {
- "name": "output",
- "shape": [1, 2, 2, 1],
- "data": [
- -3638925568,
- 6523364352,
- -414643360,
- 1610916352
- ],
- "type": "float32"
- }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_sum.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_sum.json
index d382fb09447..3e887294631 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_sum.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/reduce_sum.json
@@ -371,56 +371,6 @@
}
},
{
- "name": "reduceSum float32 3D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 3, 4],
- "data": [
- 69.6038605453285,
- 99.1748548274599,
- 32.782341359545676,
- 8.881362932730319,
- 16.094296257493014,
- 11.806894918510213,
- 32.64223805640243,
- 43.998363476438975,
- 77.01777099153088,
- 79.79425759062173,
- 45.007949804090174,
- 24.39779644056914,
- 57.50268541631618,
- 57.60172895173401,
- 80.26985885745457,
- 43.65110628848945,
- 87.50368667545843,
- 94.50203768533922,
- 35.54289690580114,
- 42.856416416096344,
- 88.58631651618441,
- 98.85772999308332,
- 25.62685451963782,
- 60.17613590317996
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-1]
- },
- "expected": {
- "shape": [2, 3],
- "data": [
- 210.44241333007812,
- 104.54179382324219,
- 226.2177734375,
- 239.025390625,
- 260.405029296875,
- 273.2470397949219
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceSum float32 4D tensor options.axes",
"inputs": {
"input": {
@@ -471,56 +421,6 @@
}
},
{
- "name": "reduceSum float32 4D tensor negative options.axes",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 69.6038605453285,
- 99.1748548274599,
- 32.782341359545676,
- 8.881362932730319,
- 16.094296257493014,
- 11.806894918510213,
- 32.64223805640243,
- 43.998363476438975,
- 77.01777099153088,
- 79.79425759062173,
- 45.007949804090174,
- 24.39779644056914,
- 57.50268541631618,
- 57.60172895173401,
- 80.26985885745457,
- 43.65110628848945,
- 87.50368667545843,
- 94.50203768533922,
- 35.54289690580114,
- 42.856416416096344,
- 88.58631651618441,
- 98.85772999308332,
- 25.62685451963782,
- 60.17613590317996
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-4, -2]
- },
- "expected": {
- "shape": [2, 3],
- "data": [
- 179.63900756835938,
- 260.37457275390625,
- 219.3611297607422,
- 246.83712768554688,
- 157.4895782470703,
- 250.1780242919922
- ],
- "type": "float32"
- }
- },
- {
"name": "reduceSum float32 3D tensor options.keepDimensions=false",
"inputs": {
"input": {
@@ -785,102 +685,6 @@
],
"type": "float32"
}
- },
- {
- "name": "reduceSum float32 4D tensor negative options.axes with options.keepDimensions=false",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 69.6038605453285,
- 99.1748548274599,
- 32.782341359545676,
- 8.881362932730319,
- 16.094296257493014,
- 11.806894918510213,
- 32.64223805640243,
- 43.998363476438975,
- 77.01777099153088,
- 79.79425759062173,
- 45.007949804090174,
- 24.39779644056914,
- 57.50268541631618,
- 57.60172895173401,
- 80.26985885745457,
- 43.65110628848945,
- 87.50368667545843,
- 94.50203768533922,
- 35.54289690580114,
- 42.856416416096344,
- 88.58631651618441,
- 98.85772999308332,
- 25.62685451963782,
- 60.17613590317996
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [1, -1]
- },
- "expected": {
- "shape": [2, 2],
- "data": [
- 355.21942138671875,
- 185.98255920410156,
- 362.3598937988281,
- 410.3175354003906
- ],
- "type": "float32"
- }
- },
- {
- "name": "reduceSum float32 4D tensor negative options.axes with options.keepDimensions=true",
- "inputs": {
- "input": {
- "shape": [2, 2, 2, 3],
- "data": [
- 69.6038605453285,
- 99.1748548274599,
- 32.782341359545676,
- 8.881362932730319,
- 16.094296257493014,
- 11.806894918510213,
- 32.64223805640243,
- 43.998363476438975,
- 77.01777099153088,
- 79.79425759062173,
- 45.007949804090174,
- 24.39779644056914,
- 57.50268541631618,
- 57.60172895173401,
- 80.26985885745457,
- 43.65110628848945,
- 87.50368667545843,
- 94.50203768533922,
- 35.54289690580114,
- 42.856416416096344,
- 88.58631651618441,
- 98.85772999308332,
- 25.62685451963782,
- 60.17613590317996
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-3, 3]
- },
- "expected": {
- "shape": [1, 2, 2, 1],
- "data": [
- 355.21942138671875,
- 185.98255920410156,
- 362.3598937988281,
- 410.3175354003906
- ],
- "type": "float32"
- }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/slice.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/slice.json
index 926351cee7b..9b250268dc0 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/slice.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/slice.json
@@ -663,110 +663,6 @@
],
"type": "float32"
}
- },
- {
- "name": "slice float32 3D tensor negative options.axes=[-2, -1]",
- "inputs": {
- "input": {
- "shape": [4, 3, 2],
- "data": [
- 28.846251144212147,
- 97.9541470229301,
- -68.15961736262523,
- 14.978987588557175,
- 90.23090084798065,
- 76.59095547712559,
- -24.556316258204532,
- 79.58749302462488,
- 65.21375982234204,
- 57.43970862960305,
- 74.41775256222849,
- -4.513182026141791,
- 0.5424534704526991,
- 80.44634130202977,
- 28.327650022124686,
- 74.0261938866893,
- -74.54558964005362,
- -27.30604081001799,
- -70.4277433212161,
- 59.82631931755259,
- -58.46095416849133,
- 79.80571087632629,
- -9.857854207596304,
- 42.66519880465225
- ],
- "type": "float32"
- }
- },
- "starts": [1, 1],
- "sizes": [2, 1],
- "options": {
- "axes": [-2, -1] // [-2, -1] is equal to [1, 2]
- },
- "expected": {
- "name": "output",
- "shape": [4, 2, 1],
- "data": [
- 14.978987693786621,
- 76.59095764160156,
- 57.4397087097168,
- -4.513182163238525,
- 74.02619171142578,
- -27.306041717529297,
- 79.80570983886719,
- 42.665199279785156
- ],
- "type": "float32"
- }
- },
- {
- "name": "slice float32 4D tensor negative options.axes=[-4, -2, -1]",
- "inputs": {
- "input": {
- "shape": [2, 2, 3, 2],
- "data": [
- 28.846251144212147,
- 97.9541470229301,
- -68.15961736262523,
- 14.978987588557175,
- 90.23090084798065,
- 76.59095547712559,
- -24.556316258204532,
- 79.58749302462488,
- 65.21375982234204,
- 57.43970862960305,
- 74.41775256222849,
- -4.513182026141791,
- 0.5424534704526991,
- 80.44634130202977,
- 28.327650022124686,
- 74.0261938866893,
- -74.54558964005362,
- -27.30604081001799,
- -70.4277433212161,
- 59.82631931755259,
- -58.46095416849133,
- 79.80571087632629,
- -9.857854207596304,
- 42.66519880465225
- ],
- "type": "float32"
- }
- },
- "options": {
- "axes": [-4, -2, -1] // [-4, -2, -1] is equal to [0, 2, 3]
- },
- "starts": [1, 2, 1],
- "sizes": [1, 1, 1],
- "expected": {
- "name": "output",
- "shape": [1, 2, 1, 1],
- "data": [
- -27.306041717529297,
- 42.665199279785156
- ],
- "type": "float32"
- }
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webnn/resources/test_data/split.json b/tests/wpt/web-platform-tests/webnn/resources/test_data/split.json
index 33a0704576d..e4216003c02 100644
--- a/tests/wpt/web-platform-tests/webnn/resources/test_data/split.json
+++ b/tests/wpt/web-platform-tests/webnn/resources/test_data/split.json
@@ -578,85 +578,6 @@
]
},
{
- "name": "split float32 4D tensor number splits negative options.axis",
- "inputs": {
- "input": {
- "shape": [1, 1, 12, 2],
- "data": [
- -64.52057192772567,
- -84.60513454654502,
- -67.9928282139549,
- -23.446074622313745,
- -85.64383132426956,
- 46.877522730892906,
- -68.11224159891194,
- 75.99607609082298,
- -61.05668616435924,
- -90.92643605408041,
- 53.916621140775476,
- 84.16269171442175,
- -95.57494716023527,
- -52.40757884637803,
- -29.007187148127983,
- 71.65495730084652,
- 50.663572707062656,
- 21.364581604631596,
- -27.127241457105228,
- 65.1489516233315,
- -30.406812651567833,
- -6.818390152438795,
- 46.67362179020569,
- -21.12453802903387
- ],
- "type": "float32"
- }
- },
- "splits": 2,
- "options": {
- "axis": -2
- },
- "expected": [
- {
- "name": "output1",
- "shape": [1, 1, 6, 2],
- "data": [
- -64.52056884765625,
- -84.60513305664062,
- -67.99282836914062,
- -23.446075439453125,
- -85.64382934570312,
- 46.87752151489258,
- -68.11224365234375,
- 75.99607849121094,
- -61.05668640136719,
- -90.92643737792969,
- 53.916622161865234,
- 84.16268920898438
- ],
- "type": "float32"
- },
- {
- "name": "output2",
- "shape": [1, 1, 6, 2],
- "data": [
- -95.57494354248047,
- -52.40757751464844,
- -29.007186889648438,
- 71.65496063232422,
- 50.66357421875,
- 21.364582061767578,
- -27.127241134643555,
- 65.1489486694336,
- -30.40681266784668,
- -6.818390369415283,
- 46.673622131347656,
- -21.12453842163086
- ],
- "type": "float32"
- }
- ]
- },
- {
"name": "split float32 5D tensor array splits options.axis",
"inputs": {
"input": {
@@ -734,85 +655,6 @@
"type": "float32"
}
]
- },
- {
- "name": "split float32 5D tensor array splits negative options.axis",
- "inputs": {
- "input": {
- "shape": [6, 1, 1, 2, 2],
- "data": [
- -64.52057192772567,
- -84.60513454654502,
- -67.9928282139549,
- -23.446074622313745,
- -85.64383132426956,
- 46.877522730892906,
- -68.11224159891194,
- 75.99607609082298,
- -61.05668616435924,
- -90.92643605408041,
- 53.916621140775476,
- 84.16269171442175,
- -95.57494716023527,
- -52.40757884637803,
- -29.007187148127983,
- 71.65495730084652,
- 50.663572707062656,
- 21.364581604631596,
- -27.127241457105228,
- 65.1489516233315,
- -30.406812651567833,
- -6.818390152438795,
- 46.67362179020569,
- -21.12453802903387
- ],
- "type": "float32"
- }
- },
- "splits": [2, 4],
- "options": {
- "axis": -5
- },
- "expected": [
- {
- "name": "output1",
- "shape": [2, 1, 1, 2, 2],
- "data": [
- -64.52056884765625,
- -84.60513305664062,
- -67.99282836914062,
- -23.446075439453125,
- -85.64382934570312,
- 46.87752151489258,
- -68.11224365234375,
- 75.99607849121094
- ],
- "type": "float32"
- },
- {
- "name": "output2",
- "shape": [4, 1, 1, 2, 2],
- "data": [
- -61.05668640136719,
- -90.92643737792969,
- 53.916622161865234,
- 84.16268920898438,
- -95.57494354248047,
- -52.40757751464844,
- -29.007186889648438,
- 71.65496063232422,
- 50.66357421875,
- 21.364582061767578,
- -27.127241134643555,
- 65.1489486694336,
- -30.40681266784668,
- -6.818390369415283,
- 46.673622131347656,
- -21.12453842163086
- ],
- "type": "float32"
- }
- ]
}
]
} \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements-ref.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements-ref.html
new file mode 100644
index 00000000000..5664a4de7b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements-ref.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html lang="en" class="reftest-wait">
+<style>
+video { width:560px; height:320px; }
+</style>
+<video>
+<source src="/media/white.webm" type="video/webm">
+<source src="/media/white.mp4" type="video/mp4">
+<track label="English subtitles" kind="subtitles" srclang="en" src="support/test.vtt" default>
+</video>
+<script>
+const v = document.querySelector('video');
+v.onseeked = () => { document.documentElement.classList.remove('reftest-wait'); };
+v.currentTime = 3;
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements.html b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements.html
new file mode 100644
index 00000000000..20cf81ace29
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webvtt/rendering/cues-with-video/processing-model/evil/non-standard-pseudo-elements.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en" class="reftest-wait">
+<title>position:fixed on non-standard ::-webkit-media-text-track-display should not affect</title>
+<link rel="match" href="non-standard-pseudo-elements-ref.html">
+<style>
+video { width:560px; height:320px; }
+video::-webkit-media-text-track-display {
+ position: fixed !important;
+}
+</style>
+<video>
+<source src="/media/white.webm" type="video/webm">
+<source src="/media/white.mp4" type="video/mp4">
+<track label="English subtitles" kind="subtitles" srclang="en" src="support/test.vtt" default>
+</video>
+<script>
+const v = document.querySelector('video');
+v.onseeked = () => { document.documentElement.classList.remove('reftest-wait'); };
+v.currentTime = 3;
+</script>
+</html>
diff --git a/tests/wpt/web-platform-tests/wpt b/tests/wpt/web-platform-tests/wpt
index b0e415d8443..e0abacd85da 100755
--- a/tests/wpt/web-platform-tests/wpt
+++ b/tests/wpt/web-platform-tests/wpt
@@ -2,8 +2,8 @@
if __name__ == "__main__":
import sys
- if sys.version_info < (3, 6):
- sys.stderr.write("wpt requires Python 3.6 or higher\n")
+ if sys.version_info < (3, 7):
+ sys.stderr.write("wpt requires Python 3.7 or higher\n")
sys.exit(1)
from tools.wpt import wpt