aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/MANIFEST.json1352
-rw-r--r--tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini12
-rw-r--r--tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini6
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-006.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-007.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-008.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-004.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-005.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/parsing/word-break-valid.html.ini4
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-000.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-008.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-009.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-010.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-011.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-017.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-018.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-020.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-021.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-023.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-024.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/shaping/shaping-025.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-encoding/shaping-join-001.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-encoding/shaping-join-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-encoding/shaping-join-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-encoding/shaping-no-join-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-002.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-003.html.ini2
-rw-r--r--tests/wpt/metadata/css/css-text/white-space/control-chars-00C.html.ini2
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini4
-rw-r--r--tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini4
-rw-r--r--tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini7
-rw-r--r--tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini2
-rw-r--r--tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini4
-rw-r--r--tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini5
-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-audioparam-interface/adding-events.html.ini2
-rw-r--r--tests/wpt/web-platform-tests/animation-worklet/resources/iframe.html9
-rw-r--r--tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html38
-rw-r--r--tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-effects-from-different-frames.https.html48
-rw-r--r--tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js59
-rw-r--r--tests/wpt/web-platform-tests/cookies/samesite/resources/puppet.html32
-rw-r--r--tests/wpt/web-platform-tests/cookies/samesite/setcookie-lax.html30
-rw-r--r--tests/wpt/web-platform-tests/css/CSS2/text/white-space-processing-005.xht4
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity-ref.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-001.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-002.html33
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-003.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-004.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-005.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-006.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-007.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-008.html32
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-001.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-002.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-003.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-004.html17
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-005.html18
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/parsing/word-break-invalid.html7
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/parsing/word-break-valid.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-ref.html16
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-sanity-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-ref.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-007-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-sanity-ref.html (renamed from tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-000-ref.html)15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-sanity-ref.html (renamed from tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-004-ref.html)14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-sanity-ref.html (renamed from tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-005-ref.html)14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-sanity-ref.html (renamed from tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-006-ref.html)16
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-ref.html20
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-sanity-ref.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-013-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-sanity-ref.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-015-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-ref.html14
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-017-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-018-ref.html28
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-ref.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-ref.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-sanity-ref.html21
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-ref.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-sanity-ref.html23
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-ref.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-2-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-ref.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-2-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-ref.html24
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-2-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-ref.html22
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-001-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-002-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-003-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-004-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-005-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-006-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-007-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-008-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-009-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-010-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-011-ref.html27
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-000.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-001.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-002.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-003.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-004.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-005.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-006.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-007.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-008.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-009.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-010.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-011.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-012.html13
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-013.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-014.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-015.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-016.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-017.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-018.html12
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-020.html9
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-021.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-022.html8
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-023.html15
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-024.html11
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping-025.html10
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-000.html29
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-001.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-002.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-003.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-004.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-005.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-006.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-007.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-008.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-009.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-010.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-011.html31
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-join-001-ref.html42
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html44
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html50
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-001.html48
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-002.html59
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-003.html56
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-001.html52
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-002.html63
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-003.html60
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-001.html47
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-002.html58
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-003.html55
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-004.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-005.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-006.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-007.html3
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-009.html2
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/control-chars-00C.html18
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-015.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-016.html1
-rw-r--r--tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html1
-rw-r--r--tests/wpt/web-platform-tests/domxpath/fn-lang.html47
-rwxr-xr-xtests/wpt/web-platform-tests/fonts/Scheherazade-Regular.woffbin0 -> 180783 bytes
-rw-r--r--tests/wpt/web-platform-tests/fonts/noto/noto-sans-v8-latin-regular.woffbin0 -> 19916 bytes
-rw-r--r--tests/wpt/web-platform-tests/lint.whitelist1
-rw-r--r--tests/wpt/web-platform-tests/portals/portals-adopt-predecessor.html10
-rw-r--r--tests/wpt/web-platform-tests/portals/resources/portals-adopt-predecessor-portal.html28
-rw-r--r--tests/wpt/web-platform-tests/resources/testharness.js2
-rw-r--r--tests/wpt/web-platform-tests/tools/wpt/browser.py32
-rw-r--r--tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/adding-events.html144
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py8
-rw-r--r--tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer_origin.py24
-rw-r--r--tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html3
207 files changed, 3262 insertions, 1678 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index ec688894cbe..6b834b29d16 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -109779,6 +109779,18 @@
{}
]
],
+ "css/css-color/composited-filters-under-opacity.html": [
+ [
+ "css/css-color/composited-filters-under-opacity.html",
+ [
+ [
+ "/css/css-color/composited-filters-under-opacity-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-color/currentcolor-001.html": [
[
"css/css-color/currentcolor-001.html",
@@ -142253,6 +142265,102 @@
{}
]
],
+ "css/css-text/line-breaking/line-breaking-atomic-001.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-001.html",
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-002.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-002.html",
+ [
+ [
+ "/css/reference/ref-filled-green-100px-square.xht",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-003.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-003.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-004.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-004.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-005.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-005.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-006.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-006.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-007.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-007.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-008.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-atomic-008.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/line-breaking/line-breaking-ic-001.html": [
[
"css/css-text/line-breaking/line-breaking-ic-001.html",
@@ -142289,6 +142397,66 @@
{}
]
],
+ "css/css-text/line-breaking/line-breaking-replaced-001.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-replaced-001.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-002.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-replaced-002.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-003.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-replaced-003.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-004.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-replaced-004.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-005.html": [
+ [
+ "css/css-text/line-breaking/line-breaking-replaced-005.html",
+ [
+ [
+ "/css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/overflow-wrap/overflow-wrap-001.html": [
[
"css/css-text/overflow-wrap/overflow-wrap-001.html",
@@ -142702,7 +142870,7 @@
"css/css-text/shaping/shaping-004.html",
[
[
- "/css/css-text/shaping/reference/shaping-004-ref.html",
+ "/css/css-text/shaping/reference/shaping-000-ref.html",
"=="
]
],
@@ -142714,7 +142882,7 @@
"css/css-text/shaping/shaping-005.html",
[
[
- "/css/css-text/shaping/reference/shaping-005-ref.html",
+ "/css/css-text/shaping/reference/shaping-000-ref.html",
"=="
]
],
@@ -142726,7 +142894,7 @@
"css/css-text/shaping/shaping-006.html",
[
[
- "/css/css-text/shaping/reference/shaping-006-ref.html",
+ "/css/css-text/shaping/reference/shaping-000-ref.html",
"=="
]
],
@@ -142738,7 +142906,7 @@
"css/css-text/shaping/shaping-007.html",
[
[
- "/css/css-text/shaping/reference/shaping-007-ref.html",
+ "/css/css-text/shaping/reference/shaping-000-ref.html",
"=="
]
],
@@ -142829,18 +142997,6 @@
{}
]
],
- "css/css-text/shaping/shaping-015.html": [
- [
- "css/css-text/shaping/shaping-015.html",
- [
- [
- "/css/css-text/shaping/reference/shaping-015-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
"css/css-text/shaping/shaping-016.html": [
[
"css/css-text/shaping/shaping-016.html",
@@ -142858,7 +143014,7 @@
"css/css-text/shaping/shaping-017.html",
[
[
- "/css/css-text/shaping/reference/shaping-017-ref.html",
+ "/css/css-text/shaping/reference/shaping-003-ref.html",
"=="
]
],
@@ -142870,7 +143026,7 @@
"css/css-text/shaping/shaping-018.html",
[
[
- "/css/css-text/shaping/reference/shaping-018-ref.html",
+ "/css/css-text/shaping/reference/shaping-002-ref.html",
"=="
]
],
@@ -142913,144 +143069,36 @@
{}
]
],
- "css/css-text/shaping/shaping_cchar-000.html": [
- [
- "css/css-text/shaping/shaping_cchar-000.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-000-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-001.html": [
- [
- "css/css-text/shaping/shaping_cchar-001.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-001-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-002.html": [
- [
- "css/css-text/shaping/shaping_cchar-002.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-002-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-003.html": [
- [
- "css/css-text/shaping/shaping_cchar-003.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-003-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-004.html": [
- [
- "css/css-text/shaping/shaping_cchar-004.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-004-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-005.html": [
- [
- "css/css-text/shaping/shaping_cchar-005.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-005-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-006.html": [
- [
- "css/css-text/shaping/shaping_cchar-006.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-006-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-007.html": [
- [
- "css/css-text/shaping/shaping_cchar-007.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-007-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-008.html": [
- [
- "css/css-text/shaping/shaping_cchar-008.html",
- [
- [
- "/css/css-text/shaping/reference/shaping_cchar-008-ref.html",
- "=="
- ]
- ],
- {}
- ]
- ],
- "css/css-text/shaping/shaping_cchar-009.html": [
+ "css/css-text/shaping/shaping-023.html": [
[
- "css/css-text/shaping/shaping_cchar-009.html",
+ "css/css-text/shaping/shaping-023.html",
[
[
- "/css/css-text/shaping/reference/shaping_cchar-009-ref.html",
+ "/css/css-text/shaping/reference/shaping-023-ref.html",
"=="
]
],
{}
]
],
- "css/css-text/shaping/shaping_cchar-010.html": [
+ "css/css-text/shaping/shaping-024.html": [
[
- "css/css-text/shaping/shaping_cchar-010.html",
+ "css/css-text/shaping/shaping-024.html",
[
[
- "/css/css-text/shaping/reference/shaping_cchar-010-ref.html",
+ "/css/css-text/shaping/reference/shaping-024-ref.html",
"=="
]
],
{}
]
],
- "css/css-text/shaping/shaping_cchar-011.html": [
+ "css/css-text/shaping/shaping-025.html": [
[
- "css/css-text/shaping/shaping_cchar-011.html",
+ "css/css-text/shaping/shaping-025.html",
[
[
- "/css/css-text/shaping/reference/shaping_cchar-011-ref.html",
+ "/css/css-text/shaping/reference/shaping-025-ref.html",
"=="
]
],
@@ -143717,6 +143765,114 @@
{}
]
],
+ "css/css-text/text-encoding/shaping-join-001.html": [
+ [
+ "css/css-text/text-encoding/shaping-join-001.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-join-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-join-002.html": [
+ [
+ "css/css-text/text-encoding/shaping-join-002.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-join-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-join-003.html": [
+ [
+ "css/css-text/text-encoding/shaping-join-003.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-join-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-no-join-001.html": [
+ [
+ "css/css-text/text-encoding/shaping-no-join-001.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-no-join-002.html": [
+ [
+ "css/css-text/text-encoding/shaping-no-join-002.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-no-join-003.html": [
+ [
+ "css/css-text/text-encoding/shaping-no-join-003.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-tatweel-001.html": [
+ [
+ "css/css-text/text-encoding/shaping-tatweel-001.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-tatweel-002.html": [
+ [
+ "css/css-text/text-encoding/shaping-tatweel-002.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/shaping-tatweel-003.html": [
+ [
+ "css/css-text/text-encoding/shaping-tatweel-003.html",
+ [
+ [
+ "/css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/text-indent/text-indent-percentage-001.xht": [
[
"css/css-text/text-indent/text-indent-percentage-001.xht",
@@ -145049,6 +145205,18 @@
{}
]
],
+ "css/css-text/white-space/control-chars-00C.html": [
+ [
+ "css/css-text/white-space/control-chars-00C.html",
+ [
+ [
+ "/css/css-text/white-space/reference/control-chars-000-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-text/white-space/control-chars-00D.html": [
[
"css/css-text/white-space/control-chars-00D.html",
@@ -202539,6 +202707,222 @@
{}
]
],
+ "css/css-text/shaping/reference/shaping-000-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-000-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-000-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-001-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-001-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-001-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-002-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-002-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-002-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-003-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-003-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-003-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-008-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-008-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-008-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-009-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-009-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-009-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-010-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-010-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-010-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-011-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-011-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-011-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-012-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-012-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-012-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-014-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-014-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-014-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-016-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-016-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-016-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-020-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-020-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-020-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-021-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-021-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-021-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-022-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-022-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-022-sanity-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-023-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-023-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-023-sanity-ref.html",
+ "!="
+ ],
+ [
+ "/css/css-text/shaping/reference/shaping-023-sanity-2-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-024-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-024-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-024-sanity-ref.html",
+ "!="
+ ],
+ [
+ "/css/css-text/shaping/reference/shaping-024-sanity-2-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
+ "css/css-text/shaping/reference/shaping-025-ref.html": [
+ [
+ "css/css-text/shaping/reference/shaping-025-ref.html",
+ [
+ [
+ "/css/css-text/shaping/reference/shaping-025-sanity-ref.html",
+ "!="
+ ],
+ [
+ "/css/css-text/shaping/reference/shaping-025-sanity-2-ref.html",
+ "!="
+ ]
+ ],
+ {}
+ ]
+ ],
"css/css-transforms/2d-rotate-notref.html": [
[
"css/css-transforms/2d-rotate-notref.html",
@@ -205562,6 +205946,11 @@
{}
]
],
+ "animation-worklet/resources/iframe.html": [
+ [
+ {}
+ ]
+ ],
"animation-worklet/worklet-animation-cancel-ref.html": [
[
{}
@@ -234382,6 +234771,11 @@
{}
]
],
+ "cookies/samesite/resources/puppet.html": [
+ [
+ {}
+ ]
+ ],
"cookies/secure/set-from-http.https.sub.html.headers": [
[
{}
@@ -258112,6 +258506,11 @@
{}
]
],
+ "css/css-color/composited-filters-under-opacity-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-color/greensquare-ref.html": [
[
{}
@@ -275442,247 +275841,222 @@
{}
]
],
- "css/css-text/line-breaking/reference/line-breaking-ic-001-ref.html": [
- [
- {}
- ]
- ],
- "css/css-text/overflow-wrap/overflow-wrap-001-ref.html": [
- [
- {}
- ]
- ],
- "css/css-text/overflow-wrap/overflow-wrap-002-ref.html": [
- [
- {}
- ]
- ],
- "css/css-text/overflow-wrap/overflow-wrap-004-ref.html": [
- [
- {}
- ]
- ],
- "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-001-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-002-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-003-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-fit-content-001.html": [
- [
- {}
- ]
- ],
- "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-span-001-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-cluster-001-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-ic-001-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-001-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-002-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-003-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-004-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html": [
[
{}
]
],
- "css/css-text/overflow-wrap/reference/overflow-wrap-normal-keep-all-001-ref.html": [
+ "css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-000-ref.html": [
+ "css/css-text/overflow-wrap/overflow-wrap-001-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-001-ref.html": [
+ "css/css-text/overflow-wrap/overflow-wrap-002-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-002-ref.html": [
+ "css/css-text/overflow-wrap/overflow-wrap-004-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-003-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-001-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-004-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-002-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-005-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-003-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-006-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-fit-content-001.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-007-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-break-word-span-001-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-008-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-cluster-001-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-009-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-001-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-010-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-002-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-011-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-003-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-012-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-min-content-size-004-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-013-ref.html": [
+ "css/css-text/overflow-wrap/reference/overflow-wrap-normal-keep-all-001-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-014-ref.html": [
+ "css/css-text/shaping/reference/shaping-000-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-015-ref.html": [
+ "css/css-text/shaping/reference/shaping-001-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-016-ref.html": [
+ "css/css-text/shaping/reference/shaping-002-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-017-ref.html": [
+ "css/css-text/shaping/reference/shaping-003-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-018-ref.html": [
+ "css/css-text/shaping/reference/shaping-008-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-020-ref.html": [
+ "css/css-text/shaping/reference/shaping-009-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-021-ref.html": [
+ "css/css-text/shaping/reference/shaping-010-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping-022-ref.html": [
+ "css/css-text/shaping/reference/shaping-011-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-000-ref.html": [
+ "css/css-text/shaping/reference/shaping-012-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-001-ref.html": [
+ "css/css-text/shaping/reference/shaping-014-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-002-ref.html": [
+ "css/css-text/shaping/reference/shaping-016-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-003-ref.html": [
+ "css/css-text/shaping/reference/shaping-020-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-004-ref.html": [
+ "css/css-text/shaping/reference/shaping-021-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-005-ref.html": [
+ "css/css-text/shaping/reference/shaping-022-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-006-ref.html": [
+ "css/css-text/shaping/reference/shaping-023-sanity-2-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-007-ref.html": [
+ "css/css-text/shaping/reference/shaping-023-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-008-ref.html": [
+ "css/css-text/shaping/reference/shaping-024-sanity-2-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-009-ref.html": [
+ "css/css-text/shaping/reference/shaping-024-sanity-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-010-ref.html": [
+ "css/css-text/shaping/reference/shaping-025-sanity-2-ref.html": [
[
{}
]
],
- "css/css-text/shaping/reference/shaping_cchar-011-ref.html": [
+ "css/css-text/shaping/reference/shaping-025-sanity-ref.html": [
[
{}
]
@@ -276142,6 +276516,26 @@
{}
]
],
+ "css/css-text/text-encoding/reference/shaping-join-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/reference/shaping-no-join-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html": [
+ [
+ {}
+ ]
+ ],
+ "css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html": [
+ [
+ {}
+ ]
+ ],
"css/css-text/text-indent/reference/text-indent-percentage-001-ref.xht": [
[
{}
@@ -293822,6 +294216,11 @@
{}
]
],
+ "fonts/Scheherazade-Regular.woff": [
+ [
+ {}
+ ]
+ ],
"fonts/adobe-fonts/CSSFWOrientationTest.otf": [
[
{}
@@ -294302,6 +294701,11 @@
{}
]
],
+ "fonts/noto/noto-sans-v8-latin-regular.woff": [
+ [
+ {}
+ ]
+ ],
"fonts/sileot-webfont.woff": [
[
{}
@@ -346992,6 +347396,12 @@
{}
]
],
+ "animation-worklet/worklet-animation-with-effects-from-different-frames.https.html": [
+ [
+ "animation-worklet/worklet-animation-with-effects-from-different-frames.https.html",
+ {}
+ ]
+ ],
"animation-worklet/worklet-animation-with-fill-mode.https.html": [
[
"animation-worklet/worklet-animation-with-fill-mode.https.html",
@@ -352314,6 +352724,12 @@
{}
]
],
+ "cookies/samesite/setcookie-lax.html": [
+ [
+ "cookies/samesite/setcookie-lax.html",
+ {}
+ ]
+ ],
"cookies/samesite/window-open-reload.html": [
[
"cookies/samesite/window-open-reload.html",
@@ -370228,6 +370644,12 @@
{}
]
],
+ "domxpath/fn-lang.html": [
+ [
+ "domxpath/fn-lang.html",
+ {}
+ ]
+ ],
"domxpath/interfaces.tentative.html": [
[
"domxpath/interfaces.tentative.html",
@@ -442835,6 +443257,12 @@
{}
]
],
+ "webaudio/the-audio-api/the-audioparam-interface/adding-events.html": [
+ [
+ "webaudio/the-audio-api/the-audioparam-interface/adding-events.html",
+ {}
+ ]
+ ],
"webaudio/the-audio-api/the-audioparam-interface/audioparam-close.html": [
[
"webaudio/the-audio-api/the-audioparam-interface/audioparam-close.html",
@@ -471975,24 +472403,6 @@
{}
]
],
- "css/css-text/shaping/shaping-023.html": [
- [
- "css/css-text/shaping/shaping-023.html",
- {}
- ]
- ],
- "css/css-text/shaping/shaping-024.html": [
- [
- "css/css-text/shaping/shaping-024.html",
- {}
- ]
- ],
- "css/css-text/shaping/shaping-025.html": [
- [
- "css/css-text/shaping/shaping-025.html",
- {}
- ]
- ],
"css/css-text/text-align/text-align-end-018.html": [
[
"css/css-text/text-align/text-align-end-018.html",
@@ -482688,6 +483098,10 @@
"f9a5fab9b7b74c5ce58f6783d0513143bd2be9b6",
"support"
],
+ "animation-worklet/resources/iframe.html": [
+ "e128fa53e45e819dce04a1fb05e39241e2c11b2c",
+ "support"
+ ],
"animation-worklet/scroll-timeline-writing-modes.https.html": [
"761e66e7d76f4aaf64c7744d0d04a06e3ba16cd1",
"testharness"
@@ -482705,7 +483119,7 @@
"reftest"
],
"animation-worklet/worklet-animation-creation.https.html": [
- "3e403feb4366457a800f38030481a7b12f9d24f2",
+ "02886c444dc6c1d68afed9ee6c130b2f85b25240",
"testharness"
],
"animation-worklet/worklet-animation-duration-ref.html": [
@@ -482772,6 +483186,10 @@
"c8683f7daccb40b85c56f098a8061854f4ed293a",
"reftest"
],
+ "animation-worklet/worklet-animation-with-effects-from-different-frames.https.html": [
+ "152b13839c1cae1607f5b6a05c5a495820a6243a",
+ "testharness"
+ ],
"animation-worklet/worklet-animation-with-fill-mode.https.html": [
"725d10de438ce60d1b6eece5109e9016cc3fc9e8",
"testharness"
@@ -508981,7 +509399,7 @@
"testharness"
],
"cookies/resources/cookie-helper.sub.js": [
- "2974da9af069d0fa82779c7c250eb467283f558a",
+ "1cd924a0c93203d211cffb3133083867b754cce6",
"support"
],
"cookies/resources/drop.py": [
@@ -509076,6 +509494,14 @@
"b1b04340b796ec93ef26d178678ddc745d43e988",
"testharness"
],
+ "cookies/samesite/resources/puppet.html": [
+ "9f4f8e2242c71f8e79ed3424dcbca0c76426b095",
+ "support"
+ ],
+ "cookies/samesite/setcookie-lax.html": [
+ "2826f676a5b18bae6ef88b90238de2e74692b0a8",
+ "testharness"
+ ],
"cookies/samesite/window-open-reload.html": [
"fd9c7a6d5a8c2ca8ac184dadf72b8d397e8af8cb",
"testharness"
@@ -561221,7 +561647,7 @@
"reftest"
],
"css/CSS2/text/white-space-processing-005.xht": [
- "2e2c36dab25c3106c6296302a408aa28275735cb",
+ "26800d1c1e56eda65228655936f070b6f9c78e59",
"visual"
],
"css/CSS2/text/white-space-processing-006.xht": [
@@ -573936,6 +574362,14 @@
"b3d1c740c57bab9b8daf8842d6f50e1435aa75a4",
"testharness"
],
+ "css/css-color/composited-filters-under-opacity-ref.html": [
+ "73b420189ec8bc073e8b6a2e4bfd628653bd4a78",
+ "support"
+ ],
+ "css/css-color/composited-filters-under-opacity.html": [
+ "f613748af3ac5bb59c9fa207937ae6207d71062e",
+ "reftest"
+ ],
"css/css-color/currentcolor-001.html": [
"e08129ee52272c1ef3d98cecd3f2890f39cca98d",
"reftest"
@@ -605804,6 +606238,38 @@
"ea9956362beecb2da890dbef24362a6e9a8be905",
"reftest"
],
+ "css/css-text/line-breaking/line-breaking-atomic-001.html": [
+ "03666417ca40e9f6efeb6c2e6be6a78ff0f477fa",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-002.html": [
+ "ca561fd52b41f2a7f3d8f2419f3001199741fdf9",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-003.html": [
+ "5fc007794cfa3367cf169a7f5f3c3c751e3d50ba",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-004.html": [
+ "c4aa5757c34742dff2d410b400f7dbea81229a28",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-005.html": [
+ "6c53d592ed285a351d719490ec73c45dbf1231dd",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-006.html": [
+ "2eb2a301784fab2e4a8abff4f0c525f8885ecff6",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-007.html": [
+ "826ce002a88eb34937cc4f7bdd2f76d14af20243",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-atomic-008.html": [
+ "cab17e9a9c067f0d63e949fda8b250509593a2a3",
+ "reftest"
+ ],
"css/css-text/line-breaking/line-breaking-ic-001.html": [
"6cfe6f86a452c19eae31a076710f02dfc8c4ec4e",
"reftest"
@@ -605816,6 +606282,26 @@
"09dc11dd1d2b9a325b131c5033a4cc20f6450711",
"reftest"
],
+ "css/css-text/line-breaking/line-breaking-replaced-001.html": [
+ "b992808475166d7e57c3528e76e8191a474db956",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-002.html": [
+ "6d6547fddf6fa89214b18fda08e73624e5daa1df",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-003.html": [
+ "038b1d8ee5bc5a4984c38b2257f76f265b549634",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-004.html": [
+ "2cce40a9a162cc152b2d73a6fff1f3aeaa7ef00e",
+ "reftest"
+ ],
+ "css/css-text/line-breaking/line-breaking-replaced-005.html": [
+ "fd00799e15555570b941e5bb618889365ebfb2c1",
+ "reftest"
+ ],
"css/css-text/line-breaking/reference/line-breaking-001-ref.html": [
"a27cbc47473242c4edfaffcbcc956b834280584d",
"support"
@@ -605828,10 +606314,46 @@
"816015adeab54895037530b8e4d410f81082931f",
"support"
],
+ "css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html": [
+ "93a6d491c2336467ee8dc48ea37c10203ab05863",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html": [
+ "aa7f0f4accf175ac24526983f200b017cd9a4de0",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html": [
+ "cd2b0590aa9d205da4eb4f5f3763d7a0f4a71699",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html": [
+ "62d68f5c4b1efd043162bf5f4ec5c26304876acc",
+ "support"
+ ],
"css/css-text/line-breaking/reference/line-breaking-ic-001-ref.html": [
"421002818f6d5f9837c5de3967a1c3d7b441244f",
"support"
],
+ "css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html": [
+ "330c55e48515e2d9cb6ac23da56bddf9d0fc627e",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html": [
+ "ed6a8145d984efff5037e0b529f00fa05f7b541a",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html": [
+ "07c8823cead27ce108c3aabdc2fc396656830bd0",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html": [
+ "c8913bdc592a3fecb8f4d295a4d0452a5722549c",
+ "support"
+ ],
+ "css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html": [
+ "e0794390c934a09b42a091c151df5b12acca674e",
+ "support"
+ ],
"css/css-text/overflow-wrap/overflow-wrap-001-ref.html": [
"129b0443eaf9a33c49eb2fe647e51e3de8dbaad4",
"support"
@@ -605913,7 +606435,7 @@
"reftest"
],
"css/css-text/overflow-wrap/overflow-wrap-break-word-007.html": [
- "0491b921e1aed4b030ca5cf0214afad7bdf3aba1",
+ "e701f765da27b75b71b261878e217b7a4c5c593e",
"reftest"
],
"css/css-text/overflow-wrap/overflow-wrap-break-word-008.html": [
@@ -606125,11 +606647,11 @@
"testharness"
],
"css/css-text/parsing/word-break-invalid.html": [
- "6d544de8bfa2084213ecd46d5cf189a0fc4966b2",
+ "46456b677d8d658cf285a005c7b72d10174d450d",
"testharness"
],
"css/css-text/parsing/word-break-valid.html": [
- "9cd917b488a0e1f62103ced9e886d9584b134f4b",
+ "7f558848fb8bb8a0327c7dd5b6efca9e823dda1f",
"testharness"
],
"css/css-text/parsing/word-spacing-invalid.html": [
@@ -606149,139 +606671,151 @@
"testharness"
],
"css/css-text/shaping/reference/shaping-000-ref.html": [
- "62c8b500aaf097e0fb61f87b382ec4e5e0a4dd7e",
- "support"
+ "46312eb7bee1e000dce27b452e0d4eef6c190bb5",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-001-ref.html": [
- "d9465300dfe26673eedf02c7a858c20f53f6ee42",
+ "css/css-text/shaping/reference/shaping-000-sanity-ref.html": [
+ "af43f98b0cae8945efb8e732c7d0ae2716e2b2e5",
"support"
],
- "css/css-text/shaping/reference/shaping-002-ref.html": [
- "96d3c1ffdd84f37d2d0643bafc02d4447334c4b0",
- "support"
+ "css/css-text/shaping/reference/shaping-001-ref.html": [
+ "53a1093acee654ddc3c4398a00c197c6166a1a6e",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-003-ref.html": [
- "4143f916dcd49f7618d207e116b5928ed5ad4de8",
+ "css/css-text/shaping/reference/shaping-001-sanity-ref.html": [
+ "802c65387cc1313bed384104245a0ba18f646f8c",
"support"
],
- "css/css-text/shaping/reference/shaping-004-ref.html": [
- "263f279bec7bc9f36803b55f3166eb472f3e5be4",
- "support"
+ "css/css-text/shaping/reference/shaping-002-ref.html": [
+ "1871724c1dee9ddb041596a7691e6ac7ae4ddef9",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-005-ref.html": [
- "9614f5d315c89c363613d2abb9cd43a881e1ce4c",
+ "css/css-text/shaping/reference/shaping-002-sanity-ref.html": [
+ "5cb1200182ed45c3fe713702596b151adef28088",
"support"
],
- "css/css-text/shaping/reference/shaping-006-ref.html": [
- "1a265c4320c892eb02fd9bd9a397c3596714a66e",
- "support"
+ "css/css-text/shaping/reference/shaping-003-ref.html": [
+ "734e510af0d4303aebaced160f6a02e0409af136",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-007-ref.html": [
- "8021eb99070ab4d305e6ce8e897c5023e6f4a130",
+ "css/css-text/shaping/reference/shaping-003-sanity-ref.html": [
+ "6ca7f1c2df0b8a380dc1a787da5f831be977840f",
"support"
],
"css/css-text/shaping/reference/shaping-008-ref.html": [
- "4e47e4763ed75c90c790afdb33541b75f58ffc11",
+ "42be6f8220b1fdd13e4fe9406d261f4d5a386a87",
+ "reftest_node"
+ ],
+ "css/css-text/shaping/reference/shaping-008-sanity-ref.html": [
+ "abad0b4f8ef28b437736d9dc08fa401addea4565",
"support"
],
"css/css-text/shaping/reference/shaping-009-ref.html": [
- "bcdd7acbb682cea6658a4a326e66b7bd70448e8b",
+ "6ff0985ab96366e8ddd529dd225a37e06e293b57",
+ "reftest_node"
+ ],
+ "css/css-text/shaping/reference/shaping-009-sanity-ref.html": [
+ "b5545097a37faff2b6c549bcf293553a8d379532",
"support"
],
"css/css-text/shaping/reference/shaping-010-ref.html": [
- "98416e98a7c32e48ad503e35f17a5bf69376d3b6",
+ "18d3325625c2a21f0ff59951a1656520db9f7b74",
+ "reftest_node"
+ ],
+ "css/css-text/shaping/reference/shaping-010-sanity-ref.html": [
+ "b9d951c8874566523a404574da411b3b7ae0c05d",
"support"
],
"css/css-text/shaping/reference/shaping-011-ref.html": [
- "b4bd94222108e728d57b46eb8af4a170507adc77",
+ "418b641e239a86fcdb17925d2408c6128afc6ba9",
+ "reftest_node"
+ ],
+ "css/css-text/shaping/reference/shaping-011-sanity-ref.html": [
+ "a57aadc301d90e9730f0e8f3dff18042f374e900",
"support"
],
"css/css-text/shaping/reference/shaping-012-ref.html": [
- "c00fd2cb832e0b3a8cb34f41c9c358eb5e2713cd",
- "support"
+ "8a2f7198a20cd6dc4b2fb221b201b3fc9eb5779a",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-013-ref.html": [
- "199aeb9870f20c05fc1e5ba048d51a128f764e58",
+ "css/css-text/shaping/reference/shaping-012-sanity-ref.html": [
+ "ce2a7ecbe5b03999b67b8a7d4f5b7d40bfc03e05",
"support"
],
"css/css-text/shaping/reference/shaping-014-ref.html": [
- "1d08b44ed2f516fe4e110609b674e54565ed1a7d",
- "support"
+ "f32ae1c23ecaefcdd660446d037cf0386ed6904e",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-015-ref.html": [
- "2269909e4aee2749c19fd761baecf22528b50cb7",
+ "css/css-text/shaping/reference/shaping-014-sanity-ref.html": [
+ "c47d28e223bae1d57042b16b3901c30ecdc0d3d0",
"support"
],
"css/css-text/shaping/reference/shaping-016-ref.html": [
- "5fa5cd093903b1f234acd5fae97b99ad487ecaa4",
- "support"
- ],
- "css/css-text/shaping/reference/shaping-017-ref.html": [
- "94ffc829ab4b0877e01b5737d117b63ab3ec428c",
- "support"
+ "af931cd3c5267791c7b046ecf277f538159dfd4b",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-018-ref.html": [
- "b53c5aeb8d95f91159adf379ca35d1cf0fb27716",
+ "css/css-text/shaping/reference/shaping-016-sanity-ref.html": [
+ "15debe37b9e8f8c607651db288bc54c0907f3a9e",
"support"
],
"css/css-text/shaping/reference/shaping-020-ref.html": [
- "b95a6d57342fdf9906a225006076089a3433a369",
- "support"
+ "b5c4d4dcbc0e327075fbaf71e9a062e2f7435a2e",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping-021-ref.html": [
- "f3b45a1377c6dc4279b02f9e413bde5543a79d4a",
+ "css/css-text/shaping/reference/shaping-020-sanity-ref.html": [
+ "da3a1469be0db402a1796801b68d06ac5000ada5",
"support"
],
- "css/css-text/shaping/reference/shaping-022-ref.html": [
- "b0f60a57dd54bbe622d8eeb992be75ebd92bfd64",
- "support"
+ "css/css-text/shaping/reference/shaping-021-ref.html": [
+ "c4e63eff6fbb3ceecc9c33af46b73891bc699951",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping_cchar-000-ref.html": [
- "62df53aae2c732c14168765b0096a5211887c1df",
+ "css/css-text/shaping/reference/shaping-021-sanity-ref.html": [
+ "103e38e6c6c974f5bc70d9b0f474e4234285defe",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-001-ref.html": [
- "28f2d0ad063f6dad6839b7ffd3bdbe144ed8bf53",
- "support"
+ "css/css-text/shaping/reference/shaping-022-ref.html": [
+ "6db719d2c13de577681a104e864dbc9c95ec294b",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping_cchar-002-ref.html": [
- "e46a4663051d095836d7b53dba30520c5b38f4fc",
+ "css/css-text/shaping/reference/shaping-022-sanity-ref.html": [
+ "fe28ab3a57961f15f1aa9f18ab42f8fe7ecfbe0e",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-003-ref.html": [
- "835ad521fd0abf84ad0ce0808ae8dcded00110d1",
- "support"
+ "css/css-text/shaping/reference/shaping-023-ref.html": [
+ "35e6b75b4a04f9ecb26d8b3e95a81c5c76e4249b",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping_cchar-004-ref.html": [
- "5ec1500dde88cdb66071ba35765bb16b17e878b8",
+ "css/css-text/shaping/reference/shaping-023-sanity-2-ref.html": [
+ "cbde30c641b010acfa24f0cc0a6980c7b1114082",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-005-ref.html": [
- "4d83cf6ec0978c70d21b3f3de376672b3ac02c03",
+ "css/css-text/shaping/reference/shaping-023-sanity-ref.html": [
+ "966579be1c307ce43699fe13deb24137df0b508b",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-006-ref.html": [
- "3a293849849ae24530bb1a71e97d546afcbb5eb6",
- "support"
+ "css/css-text/shaping/reference/shaping-024-ref.html": [
+ "2a955ae1e16c6ffce27f3dbaaa67703958647734",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping_cchar-007-ref.html": [
- "950ef6457cdef75cd4b90693c677c3780ec4d7c4",
+ "css/css-text/shaping/reference/shaping-024-sanity-2-ref.html": [
+ "657478d9c7637bb41042575565ac3ff57add0270",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-008-ref.html": [
- "0e54de5098dbeb967393e4a4a9fb339658aea5e1",
+ "css/css-text/shaping/reference/shaping-024-sanity-ref.html": [
+ "fe89eecf6879bd2ac3d7b7aa4bc7a500b0f5f4b9",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-009-ref.html": [
- "9470b65ea508a8e94f453aa7b5fc04f4d5b4ed7c",
- "support"
+ "css/css-text/shaping/reference/shaping-025-ref.html": [
+ "19d45f49830a8bd4f8134367eba10d64defe25cd",
+ "reftest_node"
],
- "css/css-text/shaping/reference/shaping_cchar-010-ref.html": [
- "59f02a8d5589a135ce3d1112df79ae2ceaa31fdf",
+ "css/css-text/shaping/reference/shaping-025-sanity-2-ref.html": [
+ "95e0ba2172a7b06818836ec315f6300f4d6b177b",
"support"
],
- "css/css-text/shaping/reference/shaping_cchar-011-ref.html": [
- "83a5139a21af44465a45768539294a31cab91ba4",
+ "css/css-text/shaping/reference/shaping-025-sanity-ref.html": [
+ "a75dd158d45dcbb2ffa53a2973d3c9d792cf3e05",
"support"
],
"css/css-text/shaping/reference/shaping_lig-000-ref.html": [
@@ -606289,151 +606823,99 @@
"support"
],
"css/css-text/shaping/shaping-000.html": [
- "6a56c09064d929157693c37908e4ad78b6bd39e8",
+ "cd682ac733c7a8122d4b43f9773672fdcb9d6a4d",
"reftest"
],
"css/css-text/shaping/shaping-001.html": [
- "5c5ac1a0cd48b46388042625f79a3d1b1a3ac432",
+ "ce10ea93d7fe9f7a9217cdec51ac47b6fe18ee9c",
"reftest"
],
"css/css-text/shaping/shaping-002.html": [
- "f4b4122bf56a634fec829cb61ed9bbc51780d059",
+ "282e7d186d8c806ad78e9b8f09e24789ea50549e",
"reftest"
],
"css/css-text/shaping/shaping-003.html": [
- "3cc4b3dfc3f20e961e85dac6bad2130f582f74d6",
+ "58602316f4b467e706632afe6911860334ddf943",
"reftest"
],
"css/css-text/shaping/shaping-004.html": [
- "3b7d1724e5cc7507a28d185d5cf659a07b4b4e8a",
+ "4eaa25ad4d53a2ad5e3451710f0a51ffe800ccab",
"reftest"
],
"css/css-text/shaping/shaping-005.html": [
- "2ef446f6c5a21c05153118af4ddfc821c25a8642",
+ "809ea2f41cd6885a9b123911c5e8461db084382b",
"reftest"
],
"css/css-text/shaping/shaping-006.html": [
- "5fad09bc317e5b238de3fc746e0e07e2cbe921cb",
+ "21a13c0487fa811e43afbd49a230482734716553",
"reftest"
],
"css/css-text/shaping/shaping-007.html": [
- "33a81b6df1a94483c9155b7b41339dfcd2517d0d",
+ "a4f3dc10ee2e6f9b3ff43febe8972992adf55c19",
"reftest"
],
"css/css-text/shaping/shaping-008.html": [
- "f7f1fad60358071dcab584d186727d975b85fdc5",
+ "509645b3494cc1bcb69f7c53d8ec98abf3013944",
"reftest"
],
"css/css-text/shaping/shaping-009.html": [
- "979e5fd59066beb60ca33c793d0a770719f40e5d",
+ "4d1d1f7c97800175dbd4b77b0e72ddfbac037be6",
"reftest"
],
"css/css-text/shaping/shaping-010.html": [
- "02f7ce38bc936a20cbc86035d0331f1e8e62ba22",
+ "cd318542bbbd43e4289e4726b53f9cecdb7dd739",
"reftest"
],
"css/css-text/shaping/shaping-011.html": [
- "a2316f5487767e3fab817efa12f5f831a30449e0",
+ "64b464e80bfd2fc15db809de15125aea618f555d",
"reftest"
],
"css/css-text/shaping/shaping-012.html": [
- "6bc26206d32c32a1376543b89f4820bb6c2b1328",
+ "6ae3a9ba2bfe2ed8c80eeefe5b733cc489b6eeda",
"reftest"
],
"css/css-text/shaping/shaping-013.html": [
- "a4b55b22c267f15687bea91dadc7ee46b83df0dd",
+ "e9b3359e7856e16d09fba208db56a3edd96eb384",
"reftest"
],
"css/css-text/shaping/shaping-014.html": [
- "100a7d788598662021859ec5c83dcbc5f8a574f4",
- "reftest"
- ],
- "css/css-text/shaping/shaping-015.html": [
- "fcbc44a57dd913a8df113050a96b4f47938e4218",
+ "01e80c35f2febb0b72b588c4e36977c613da51a3",
"reftest"
],
"css/css-text/shaping/shaping-016.html": [
- "da3246215f96f8d6681b294bd33baaceb3d26915",
+ "b18005651086b9f330129ba8ad3bd247ee96dfbf",
"reftest"
],
"css/css-text/shaping/shaping-017.html": [
- "cb1acef205f2d5d200f0d056f0a5902f016a2d3d",
+ "e4dc68a126d9924df8d96b9f43096e1531e8e382",
"reftest"
],
"css/css-text/shaping/shaping-018.html": [
- "a4b69e964351b6a1180cb2d98fc1705a10f4b8a5",
+ "fc44d6e640d0a5cb6d6a022b70e52ad4b8c37ae9",
"reftest"
],
"css/css-text/shaping/shaping-020.html": [
- "10f612c3a257c9e786b3252d32830bdfe5bd2b07",
+ "a88b339e344e50b09d23d39626f0c5fafee1df8d",
"reftest"
],
"css/css-text/shaping/shaping-021.html": [
- "53201685edbadeb1e188af27e5bd57b57048bcf6",
+ "b94a39e4db7b56b9057623c0f3541608e1b6d8d6",
"reftest"
],
"css/css-text/shaping/shaping-022.html": [
- "06dde6f370c62525ac5f085cf6eac5ff201a1af4",
+ "131b23253f9545f23786ce10cd87b5aec7fe9175",
"reftest"
],
"css/css-text/shaping/shaping-023.html": [
- "4ab0c1b31a744ab2121f9a9ff18564535588993f",
- "visual"
- ],
- "css/css-text/shaping/shaping-024.html": [
- "306ce43663d340627cc0bdca04cfd2a8a3d56956",
- "visual"
- ],
- "css/css-text/shaping/shaping-025.html": [
- "0c08600bfc4b9c7cc34ba9e88b6e5f8802faaaa6",
- "visual"
- ],
- "css/css-text/shaping/shaping_cchar-000.html": [
- "62490a2b48a250b1cc79ef96db613032475223f5",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-001.html": [
- "48ab60a20c85b3c9be263cb986a80f5cb4e84fdd",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-002.html": [
- "5885743d9088927f3cbf45c5a470f7681dfe3707",
+ "67009d57a7826b8855f29c25a88bde9b9588526b",
"reftest"
],
- "css/css-text/shaping/shaping_cchar-003.html": [
- "32f40dd45edcd938a9a2f9218ba4a7717894381f",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-004.html": [
- "2b24475031e6879564aaee9607f1bf573ae98e8e",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-005.html": [
- "8454d4ea0541e2e380bb862b1f3e3a2b2e6352c5",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-006.html": [
- "5f36e7dde57067b4c50792b54dcd2f8815397304",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-007.html": [
- "bd9e44e660997f80bef03de1676170b0fce22583",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-008.html": [
- "17295db5234904d2313f3b2b3fa31b25c9f5bd19",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-009.html": [
- "e17218d29a8822830656d11683f9947640b2aa5b",
- "reftest"
- ],
- "css/css-text/shaping/shaping_cchar-010.html": [
- "0f9d8a4c1fd56061eab3474a3f729d0b37ed1a2f",
+ "css/css-text/shaping/shaping-024.html": [
+ "3ab2bbe95108ffdc0bda7b3d7592fd6f8bd95445",
"reftest"
],
- "css/css-text/shaping/shaping_cchar-011.html": [
- "8ab7606d9ceb5d6a211a1ff708dc0cd6fcc1c861",
+ "css/css-text/shaping/shaping-025.html": [
+ "c888784cd452b61f3f21311afa275e7115ec9a3d",
"reftest"
],
"css/css-text/shaping/shaping_lig-000.html": [
@@ -607096,6 +607578,58 @@
"1b8d9728b6738022ba5762e49e8fc8f54ace2ef5",
"visual"
],
+ "css/css-text/text-encoding/reference/shaping-join-001-ref.html": [
+ "1baeea5b0b52622c0ee52d7f80c87f237c7f8722",
+ "support"
+ ],
+ "css/css-text/text-encoding/reference/shaping-no-join-001-ref.html": [
+ "4bf1b4aed7a40973afd48901f415d7e6b04ba807",
+ "support"
+ ],
+ "css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html": [
+ "87880e666a3813ae2d9143f72563514a9ba2a76a",
+ "support"
+ ],
+ "css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html": [
+ "4393172ac2d2853660f67a263c980460f3f99a6a",
+ "support"
+ ],
+ "css/css-text/text-encoding/shaping-join-001.html": [
+ "c4a4d00c92fc64b9a5506399fac2876c818d4899",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-join-002.html": [
+ "1e4eaf7fe990e0c019b2d9c4fb1be5f54f66b203",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-join-003.html": [
+ "71459335d482e4a6f1d295add74b2555ede03dcb",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-no-join-001.html": [
+ "738189d3a3d4ef6b121948082ba15ef9da0b7ff3",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-no-join-002.html": [
+ "14fa73ed859bc035ee4f5da59bf83a1cf297280f",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-no-join-003.html": [
+ "e7d8c85701841dc0d0073a3f395e8336ba3788e4",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-tatweel-001.html": [
+ "eaf5c9d3381ba2d62d097a579c5ea47a46d2c5e9",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-tatweel-002.html": [
+ "f6878efe70fea70a12ae5cbce6624ef2f940d9f6",
+ "reftest"
+ ],
+ "css/css-text/text-encoding/shaping-tatweel-003.html": [
+ "7e7107bc739f6bf26a10288090cde5973f42db0f",
+ "reftest"
+ ],
"css/css-text/text-indent/percentage-value-intrinsic-size.html": [
"d63a9f1ba25f31dec6c719b35c19eae7b380e695",
"testharness"
@@ -607849,31 +608383,31 @@
"reftest"
],
"css/css-text/white-space/break-spaces-003.html": [
- "c0101fd7dec54322034890dbc9e4f8d613379d02",
+ "c7a8693fef1978929fccedce8698c008a1dd4367",
"reftest"
],
"css/css-text/white-space/break-spaces-004.html": [
- "13770b7b8d189a404d44e73dfe19eba1c0e48b58",
+ "75b9a0da4e678a32b771a952b1988d77c1f0a19d",
"reftest"
],
"css/css-text/white-space/break-spaces-005.html": [
- "c7f996fbc7bfc112cb605619736759ca20d65ddb",
+ "89bf9cbd97dd205ba2b0069cdb435afe74891d99",
"reftest"
],
"css/css-text/white-space/break-spaces-006.html": [
- "f3973169303e00e4853aa70b6bf9f8273f50bf33",
+ "b8d12a18440c8926ca2a28bf2339a97938a8b3da",
"reftest"
],
"css/css-text/white-space/break-spaces-007.html": [
- "d14aae72f517377d28c1828531569a760c1388b7",
+ "c7242c27e5ca3e36e87725a05de99345333d8038",
"reftest"
],
"css/css-text/white-space/break-spaces-008.html": [
- "7bcb9dd33758baf715060aa288d9a091e9cb0c94",
+ "4e6e9efa7e67733e6dbccfc732b90c8a26b769cc",
"reftest"
],
"css/css-text/white-space/break-spaces-009.html": [
- "9ecaa919ddfd42c920523e123afbeec232bdc920",
+ "36aa9dafd6e588c292f598179465233be653ab54",
"reftest"
],
"css/css-text/white-space/control-chars-000.html": [
@@ -607916,6 +608450,10 @@
"6cdf0b35cf142cac701d54e7dceb635fdd9be24e",
"reftest"
],
+ "css/css-text/white-space/control-chars-00C.html": [
+ "db20bc7205657da2b089bf142ccca68500795ff8",
+ "reftest"
+ ],
"css/css-text/white-space/control-chars-00D.html": [
"b7d1d44b0cc50f2761697de86f6ec3f2cf8904c1",
"reftest"
@@ -608165,7 +608703,7 @@
"reftest"
],
"css/css-text/white-space/pre-wrap-008.html": [
- "1ddbb7fe356e2cd9af2a35aa848541db2ab8fe23",
+ "7e4a24993f14c8e2cbf0e62c474967c61e9ade55",
"reftest"
],
"css/css-text/white-space/pre-wrap-011.html": [
@@ -608185,11 +608723,11 @@
"reftest"
],
"css/css-text/white-space/pre-wrap-015.html": [
- "176259b72ed7e5807b318d848ce1d2b7c9657873",
+ "d3f51bc429dad96a6f3a100e5f8296c0b3ab4405",
"reftest"
],
"css/css-text/white-space/pre-wrap-016.html": [
- "e88c3eda1990aae01756d40d1b4d1e5e8be77e41",
+ "18dd834d813dce07092ee8d178fe9fd850126be0",
"reftest"
],
"css/css-text/white-space/pre-wrap-float-001.html": [
@@ -608273,7 +608811,7 @@
"support"
],
"css/css-text/white-space/reference/white-space-break-spaces-005-ref.html": [
- "3247ae5a881ee513ae0b26821133b702fd473993",
+ "dece5f7394470d5bbc393c4318fa412ea25f9b4e",
"support"
],
"css/css-text/white-space/reference/white-space-intrinsic-size-001-ref.html": [
@@ -642972,6 +643510,10 @@
"8239d9c395e3c965c5ae2f23ed79156b7b85c01f",
"testharness"
],
+ "domxpath/fn-lang.html": [
+ "c7c102945d070a4ea65cae0e30ea6ec64bb82c95",
+ "testharness"
+ ],
"domxpath/interfaces.tentative.html": [
"780844ee7b11ce6ea1ee051d63166f1700cee3bf",
"testharness"
@@ -648736,6 +649278,10 @@
"631bee6de90549b809b57587f96ed2ddc678e7d2",
"support"
],
+ "fonts/Scheherazade-Regular.woff": [
+ "04d93fa4620e30fd7738521fbae19f452ba9336a",
+ "support"
+ ],
"fonts/adobe-fonts/CSSFWOrientationTest.otf": [
"f9cbd2be892e945e3e1bcc019886fa695404997c",
"support"
@@ -649120,6 +649666,10 @@
"780661ba1ca55c7ba73a8dabe0716c066b8cc7ca",
"support"
],
+ "fonts/noto/noto-sans-v8-latin-regular.woff": [
+ "4f1dd100c0917b3ea6e0634d6c0fee5a191db63a",
+ "support"
+ ],
"fonts/sileot-webfont.woff": [
"81547578d36c7989db0a03127074a5f4b33768b4",
"support"
@@ -670813,7 +671363,7 @@
"reftest"
],
"lint.whitelist": [
- "f354fd95df3f7968a621043760f4765bd96469bd",
+ "27f70db20fe607ddcb03829fc40e6efd00f0c1c7",
"support"
],
"loading/preloader-css-import-no-quote.tentative.html": [
@@ -683649,7 +684199,7 @@
"testharness"
],
"portals/portals-adopt-predecessor.html": [
- "27e4052a67ecf42c2296850c5d0619f3e5596292",
+ "90da91864235f9f1c107ea4e3edaa861493e931c",
"testharness"
],
"portals/portals-cross-origin-load.sub.html": [
@@ -683765,7 +684315,7 @@
"support"
],
"portals/resources/portals-adopt-predecessor-portal.html": [
- "14d1018b906e82897466af556bc97b567bf58934",
+ "5181748d887af70aa17ffba197e32ada6ad18963",
"support"
],
"portals/resources/portals-adopt-predecessor.html": [
@@ -694425,7 +694975,7 @@
"support"
],
"resources/testharness.js": [
- "cb341db2050ee201a7646e1db22634682b05bc97",
+ "e57c06d775c90bb65550c0a45621e8883afd4f2e",
"support"
],
"resources/testharness.js.headers": [
@@ -709557,7 +710107,7 @@
"support"
],
"tools/wpt/browser.py": [
- "d77b5f01dfae2b50ec3ab6ca5dedccfbd3b1d531",
+ "3f578c09481c8e323baf2dc146be922e19c301cd",
"support"
],
"tools/wpt/commands.json": [
@@ -714220,6 +714770,10 @@
"e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
"support"
],
+ "webaudio/the-audio-api/the-audioparam-interface/adding-events.html": [
+ "ab527b6695cef3f17fa2e41e6d2dc6fa1b36c32a",
+ "testharness"
+ ],
"webaudio/the-audio-api/the-audioparam-interface/audioparam-close.html": [
"b5555b0137af4c1c8f6c5578de4bc9c5eedfe405",
"testharness"
@@ -715665,7 +716219,7 @@
"wdspec"
],
"webdriver/tests/perform_actions/pointer.py": [
- "6719272c3f1e59be5f1241a97ff0f83a01fea637",
+ "49468a73aed9e6e1da341e47c16968b0d204fa43",
"wdspec"
],
"webdriver/tests/perform_actions/pointer_contextmenu.py": [
@@ -715681,7 +716235,7 @@
"wdspec"
],
"webdriver/tests/perform_actions/pointer_origin.py": [
- "3ebf14c348c798fb77bbd0f052207f0470a94b60",
+ "4c9dc879e999fde1803e9ac000f3757b94b854b8",
"wdspec"
],
"webdriver/tests/perform_actions/pointer_pause_dblclick.py": [
@@ -716673,7 +717227,7 @@
"testharness"
],
"webrtc/RTCPeerConnection-iceConnectionState.https.html": [
- "768da23ddbf7eeed91bf351f080c12b8338696fa",
+ "1bb07935cc70b767fda1872f4495f0655b6a44c7",
"testharness"
],
"webrtc/RTCPeerConnection-iceGatheringState.html": [
diff --git a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
index b75e1104a28..40722f0ba41 100644
--- a/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
+++ b/tests/wpt/metadata/css/css-fonts/variations/at-font-face-font-matching.html.ini
@@ -287,9 +287,6 @@
[Matching font-weight: '500' should prefer '350 399' over '351 398']
expected: FAIL
- [Matching font-style: 'oblique 21deg' should prefer 'oblique 20deg' over 'oblique 10deg']
- expected: FAIL
-
[Matching font-style: 'oblique 10deg' should prefer 'oblique 5deg' over 'oblique 15deg 20deg']
expected: FAIL
@@ -326,3 +323,12 @@
[Matching font-style: 'oblique -10deg' should prefer 'italic' over 'oblique 0deg 10deg']
expected: FAIL
+ [Matching font-weight: '501' should prefer '501' over '502 510']
+ expected: FAIL
+
+ [Matching font-style: 'oblique 20deg' should prefer 'oblique 0deg' over 'oblique -50deg -20deg']
+ expected: FAIL
+
+ [Matching font-style: 'oblique -10deg' should prefer 'oblique -50deg -40deg' over 'italic']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini b/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
index c9cc353fce2..fb258c3c0c1 100644
--- a/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
+++ b/tests/wpt/metadata/css/css-fonts/variations/font-weight-matching.html.ini
@@ -1,7 +1,4 @@
[font-weight-matching.html]
- [Test @font-face matching for weight 470]
- expected: FAIL
-
[Test @font-face matching for weight 600]
expected: FAIL
@@ -35,9 +32,6 @@
[Test @font-face matching for weight 420]
expected: FAIL
- [Test @font-face matching for weight 500]
- expected: FAIL
-
[Test @font-face matching for weight 400]
expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-002.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-002.html.ini
new file mode 100644
index 00000000000..c7c55182e95
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-002.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-atomic-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-004.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-004.html.ini
new file mode 100644
index 00000000000..295c687d088
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-004.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-atomic-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-006.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-006.html.ini
new file mode 100644
index 00000000000..6045172ba6a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-006.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-atomic-006.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-007.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-007.html.ini
new file mode 100644
index 00000000000..d060bef8822
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-007.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-atomic-007.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-008.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-008.html.ini
new file mode 100644
index 00000000000..56158121fc2
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-atomic-008.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-atomic-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-001.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-001.html.ini
new file mode 100644
index 00000000000..79d633912dc
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-001.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-replaced-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-002.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-002.html.ini
new file mode 100644
index 00000000000..2124109d549
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-002.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-replaced-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-003.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-003.html.ini
new file mode 100644
index 00000000000..a414a0f9440
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-003.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-replaced-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-004.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-004.html.ini
new file mode 100644
index 00000000000..1ac0d8e8d9e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-004.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-replaced-004.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-005.html.ini b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-005.html.ini
new file mode 100644
index 00000000000..ff07e6148c0
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/line-breaking/line-breaking-replaced-005.html.ini
@@ -0,0 +1,2 @@
+[line-breaking-replaced-005.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/parsing/word-break-valid.html.ini b/tests/wpt/metadata/css/css-text/parsing/word-break-valid.html.ini
new file mode 100644
index 00000000000..1236b4aed6e
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/parsing/word-break-valid.html.ini
@@ -0,0 +1,4 @@
+[word-break-valid.html]
+ [e.style['word-break'\] = "break-word" should set the property value]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-000.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-000.html.ini
deleted file mode 100644
index f1d5f3ca173..00000000000
--- a/tests/wpt/metadata/css/css-text/shaping/shaping-000.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[shaping-000.html]
- expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-001.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-001.html.ini
new file mode 100644
index 00000000000..b2a8c375d53
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-001.html.ini
@@ -0,0 +1,2 @@
+[shaping-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-002.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-002.html.ini
new file mode 100644
index 00000000000..8a834e9d091
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-002.html.ini
@@ -0,0 +1,2 @@
+[shaping-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-003.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-003.html.ini
new file mode 100644
index 00000000000..10dbd45d9d5
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-003.html.ini
@@ -0,0 +1,2 @@
+[shaping-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-008.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-008.html.ini
new file mode 100644
index 00000000000..ff792047b90
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-008.html.ini
@@ -0,0 +1,2 @@
+[shaping-008.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-009.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-009.html.ini
new file mode 100644
index 00000000000..ffe0b6159f7
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-009.html.ini
@@ -0,0 +1,2 @@
+[shaping-009.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-010.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-010.html.ini
new file mode 100644
index 00000000000..5de88696454
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-010.html.ini
@@ -0,0 +1,2 @@
+[shaping-010.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-011.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-011.html.ini
new file mode 100644
index 00000000000..f7c018b6501
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-011.html.ini
@@ -0,0 +1,2 @@
+[shaping-011.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-017.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-017.html.ini
new file mode 100644
index 00000000000..b1a14fb2c12
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-017.html.ini
@@ -0,0 +1,2 @@
+[shaping-017.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-018.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-018.html.ini
new file mode 100644
index 00000000000..58570ef90b9
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-018.html.ini
@@ -0,0 +1,2 @@
+[shaping-018.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-020.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-020.html.ini
new file mode 100644
index 00000000000..b331edad0ab
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-020.html.ini
@@ -0,0 +1,2 @@
+[shaping-020.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-021.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-021.html.ini
new file mode 100644
index 00000000000..051cd9c380a
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-021.html.ini
@@ -0,0 +1,2 @@
+[shaping-021.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-023.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-023.html.ini
new file mode 100644
index 00000000000..44e9d85cdf3
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-023.html.ini
@@ -0,0 +1,2 @@
+[shaping-023.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-024.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-024.html.ini
new file mode 100644
index 00000000000..0d4e1eba867
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-024.html.ini
@@ -0,0 +1,2 @@
+[shaping-024.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/shaping/shaping-025.html.ini b/tests/wpt/metadata/css/css-text/shaping/shaping-025.html.ini
new file mode 100644
index 00000000000..23a42235a3b
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/shaping/shaping-025.html.ini
@@ -0,0 +1,2 @@
+[shaping-025.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-001.html.ini b/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-001.html.ini
new file mode 100644
index 00000000000..1bce5144069
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-001.html.ini
@@ -0,0 +1,2 @@
+[shaping-join-001.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-002.html.ini b/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-002.html.ini
new file mode 100644
index 00000000000..68f5eace7c7
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-002.html.ini
@@ -0,0 +1,2 @@
+[shaping-join-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-003.html.ini b/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-003.html.ini
new file mode 100644
index 00000000000..1d1a4727f63
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-encoding/shaping-join-003.html.ini
@@ -0,0 +1,2 @@
+[shaping-join-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-encoding/shaping-no-join-002.html.ini b/tests/wpt/metadata/css/css-text/text-encoding/shaping-no-join-002.html.ini
new file mode 100644
index 00000000000..3b964f9a988
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-encoding/shaping-no-join-002.html.ini
@@ -0,0 +1,2 @@
+[shaping-no-join-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-002.html.ini b/tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-002.html.ini
new file mode 100644
index 00000000000..78289b18a29
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-002.html.ini
@@ -0,0 +1,2 @@
+[shaping-tatweel-002.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-003.html.ini b/tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-003.html.ini
new file mode 100644
index 00000000000..a82c26b1420
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/text-encoding/shaping-tatweel-003.html.ini
@@ -0,0 +1,2 @@
+[shaping-tatweel-003.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/css/css-text/white-space/control-chars-00C.html.ini b/tests/wpt/metadata/css/css-text/white-space/control-chars-00C.html.ini
new file mode 100644
index 00000000000..0bc6acbb14d
--- /dev/null
+++ b/tests/wpt/metadata/css/css-text/white-space/control-chars-00C.html.ini
@@ -0,0 +1,2 @@
+[control-chars-00C.html]
+ expected: FAIL
diff --git a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
deleted file mode 100644
index 87b07c3e670..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_1.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_1.html]
- [Multiple history traversals from the same task]
- expected: FAIL
-
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
deleted file mode 100644
index 51f8272a6de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_3.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[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
deleted file mode 100644
index 385376c7321..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_4.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_5.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
deleted file mode 100644
index dc2e45516de..00000000000
--- a/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[traverse_the_history_5.html]
- [Multiple history traversals, last would be aborted]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini b/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
deleted file mode 100644
index 9e522297c94..00000000000
--- a/tests/wpt/metadata/html/semantics/interactive-elements/the-details-element/toggleEvent.html.ini
+++ /dev/null
@@ -1,7 +0,0 @@
-[toggleEvent.html]
- [Calling open twice on 'details' fires only one toggle event]
- expected: FAIL
-
- [Setting open=true to opened 'details' element should not fire a toggle event at the 'details' element]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini b/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
deleted file mode 100644
index 178680e5d14..00000000000
--- a/tests/wpt/metadata/html/semantics/scripting-1/the-script-element/script-onerror-insertion-point-2.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[script-onerror-insertion-point-2.html]
- expected: TIMEOUT
diff --git a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini b/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini
deleted file mode 100644
index 6cf9d13975c..00000000000
--- a/tests/wpt/metadata/html/webappapis/dynamic-markup-insertion/document-write/iframe_005.html.ini
+++ /dev/null
@@ -1,4 +0,0 @@
-[iframe_005.html]
- [document.write external script into iframe write back into parent]
- expected: FAIL
-
diff --git a/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini b/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini
index 0a95e8057cc..6a9a38f56a3 100644
--- a/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini
+++ b/tests/wpt/metadata/referrer-policy/css-integration/svg/processing-instruction.html.ini
@@ -1,4 +1,5 @@
[processing-instruction.html]
+ expected: TIMEOUT
[Styling SVG from ProcessingInstruction stroke]
expected: FAIL
@@ -6,7 +7,7 @@
expected: FAIL
[Styling SVG from ProcessingInstruction mask-image]
- expected: FAIL
+ expected: NOTRUN
[Styling SVG from ProcessingInstruction marker-end]
expected: FAIL
@@ -24,5 +25,5 @@
expected: FAIL
[Styling SVG from ProcessingInstruction mask]
- expected: FAIL
+ expected: TIMEOUT
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 a56bad443a2..66bd350083b 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,5 +1,4 @@
[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-audioparam-interface/adding-events.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-audioparam-interface/adding-events.html.ini
new file mode 100644
index 00000000000..56096461d86
--- /dev/null
+++ b/tests/wpt/metadata/webaudio/the-audio-api/the-audioparam-interface/adding-events.html.ini
@@ -0,0 +1,2 @@
+[adding-events.html]
+ expected: ERROR
diff --git a/tests/wpt/web-platform-tests/animation-worklet/resources/iframe.html b/tests/wpt/web-platform-tests/animation-worklet/resources/iframe.html
new file mode 100644
index 00000000000..e128fa53e45
--- /dev/null
+++ b/tests/wpt/web-platform-tests/animation-worklet/resources/iframe.html
@@ -0,0 +1,9 @@
+<!DOCTYPE html>
+<style>
+#iframe_box {
+ width: 100px;
+ height: 100px;
+ background-color: green;
+}
+</style>
+<div id='iframe_box'></div>
diff --git a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html
index 3e403feb436..02886c444dc 100644
--- a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html
+++ b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-creation.https.html
@@ -61,6 +61,36 @@ function CreateKeyframeEffect(element) {
promise_test(async t => {
await runInAnimationWorklet(document.getElementById('simple_animate').textContent);
+ let iframe = document.createElement('iframe');
+ iframe.src = 'resources/iframe.html';
+ document.body.appendChild(iframe);
+
+ await waitForAnimationFrameWithCondition(_ => {
+ return iframe.contentDocument.getElementById('iframe_box') != null;
+ });
+ let iframe_document = iframe.contentDocument;
+ let effect = CreateKeyframeEffect(iframe_document.getElementById('iframe_box'));
+
+ let animation_with_main_frame_timeline =
+ new WorkletAnimation('test-animator', effect, document.timeline);
+ assert_equals(animation_with_main_frame_timeline.timeline, document.timeline);
+
+ let animation_with_iframe_timeline =
+ new WorkletAnimation('test-animator', effect, iframe_document.timeline);
+ assert_equals(animation_with_iframe_timeline.timeline, iframe_document.timeline);
+
+ let animation_with_default_timeline = new WorkletAnimation('test-animator', effect);
+ // The spec says that the default timeline is taken from 'the Document that is
+ // associated with the window that is the current global object'. In this case
+ // that is the main document's timeline, not the iframe (despite the target
+ // being in the iframe).
+ assert_equals(animation_with_default_timeline.timeline, document.timeline);
+
+ iframe.remove();
+ }, 'WorkletAnimation creation should choose the correct timeline based on the current global object');
+
+ promise_test(async t => {
+ await runInAnimationWorklet(document.getElementById('simple_animate').textContent);
let effect = CreateKeyframeEffect(document.querySelector('#element'));
let options = { my_param: 'foo', my_other_param: true };
let workletAnimation = new WorkletAnimation(
@@ -95,10 +125,10 @@ function CreateKeyframeEffect(element) {
otherDoc.body.appendChild(otherElement);
let otherEffect = CreateKeyframeEffect(otherElement);
- let constructorFunc = function() { new WorkletAnimation(
- 'test-animator', [ effect, otherEffect ]); };
- assert_throws('NotSupportedError', constructorFunc);
- }, 'If the effects are from different documents, object construction should fail');
+ let workletAnimation = new WorkletAnimation(
+ 'test-animator', [ effect, otherEffect ]);
+ assert_equals(workletAnimation.playState, 'idle');
+ }, 'Creating animation with effects from different documents is allowed');
promise_test(async t => {
await runInAnimationWorklet(document.getElementById('simple_animate').textContent);
diff --git a/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-effects-from-different-frames.https.html b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-effects-from-different-frames.https.html
new file mode 100644
index 00000000000..152b13839c1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/animation-worklet/worklet-animation-with-effects-from-different-frames.https.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<title>Worklet animation can animate effects from different frames</title>
+<link rel="help" href="https://drafts.css-houdini.org/css-animationworklet/">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="common.js"></script>
+
+<div id="box"></div>
+
+<script id="simple_animate" type="text/worklet">
+ registerAnimator("test_animator", class {
+ animate(currentTime, effect) {
+ let effects = effect.getChildren();
+ effects[0].localTime = 500;
+ effects[1].localTime = 750;
+ }
+ });
+</script>
+
+<script>
+ promise_test(async t => {
+ await runInAnimationWorklet(document.getElementById('simple_animate').textContent);
+ const effect = new KeyframeEffect(box, [{ opacity: 0 }], { duration: 1000 });
+
+ let iframe = document.createElement('iframe');
+ iframe.src = 'resources/iframe.html';
+ document.body.appendChild(iframe);
+
+ await waitForAnimationFrameWithCondition(_ => {
+ return iframe.contentDocument.getElementById('iframe_box') != null;
+ });
+ let iframe_box = iframe.contentDocument.getElementById('iframe_box');
+ let iframe_effect = new KeyframeEffect(
+ iframe_box, [{ opacity: 0 }], { duration: 1000 }
+ );
+
+ const animation = new WorkletAnimation('test_animator', [effect, iframe_effect]);
+ animation.play();
+
+ await waitForNotNullLocalTime(animation);
+ assert_equals(getComputedStyle(box).opacity, '0.5');
+ assert_equals(getComputedStyle(iframe_box).opacity, '0.25');
+
+ iframe.remove();
+ animation.cancel();
+ }, "Effects from different documents can be animated within one worklet animation");
+</script>
diff --git a/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js b/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js
index 2974da9af06..1cd924a0c93 100644
--- a/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js
+++ b/tests/wpt/web-platform-tests/cookies/resources/cookie-helper.sub.js
@@ -20,10 +20,6 @@
// Set the global cookie name.
window.HTTP_COOKIE = "cookie_via_http";
-
- // If we're not on |HOST|, move ourselves there:
- if (window.location.hostname != HOST)
- window.location.hostname = HOST;
})();
// A tiny helper which returns the result of fetching |url| with credentials.
@@ -120,27 +116,44 @@ window.SameSiteStatus = {
STRICT: "strict"
};
+const wait_for_message = (type, origin) => {
+ return new Promise((resolve, reject) => {
+ window.addEventListener('message', e => {
+ if (e.origin != origin) {
+ reject("Message from unexpected origin in wait_for_message:" + e.origin);
+ return;
+ }
+
+ if (e.data.type && e.data.type === type)
+ resolve(e);
+ }, { once: true });
+ });
+};
+
// Reset SameSite test cookies on |origin|. If |origin| matches `self.origin`, assert
// (via `document.cookie`) that they were properly removed and reset.
-function resetSameSiteCookies(origin, value) {
- return credFetch(origin + "/cookies/resources/dropSameSite.py")
- .then(_ => {
- if (origin == self.origin) {
- assert_dom_cookie("samesite_strict", value, false);
- assert_dom_cookie("samesite_lax", value, false);
- assert_dom_cookie("samesite_none", value, false);
- }
- })
- .then(_ => {
- return credFetch(origin + "/cookies/resources/setSameSite.py?" + value)
- .then(_ => {
- if (origin == self.origin) {
- assert_dom_cookie("samesite_strict", value, true);
- assert_dom_cookie("samesite_lax", value, true);
- assert_dom_cookie("samesite_none", value, true);
- }
- })
- })
+async function resetSameSiteCookies(origin, value) {
+ let w = window.open(origin + "/cookies/samesite/resources/puppet.html");
+ try {
+ await wait_for_message("READY", origin);
+ w.postMessage({type: "drop", useOwnOrigin: true}, "*");
+ await wait_for_message("drop-complete", origin);
+ if (origin == self.origin) {
+ assert_dom_cookie("samesite_strict", value, false);
+ assert_dom_cookie("samesite_lax", value, false);
+ assert_dom_cookie("samesite_none", value, false);
+ }
+
+ w.postMessage({type: "set", value: value, useOwnOrigin: true}, "*");
+ await wait_for_message("set-complete", origin);
+ if (origin == self.origin) {
+ assert_dom_cookie("samesite_strict", value, true);
+ assert_dom_cookie("samesite_lax", value, true);
+ assert_dom_cookie("samesite_none", value, true);
+ }
+ } finally {
+ w.close();
+ }
}
// Given an |expectedStatus| and |expectedValue|, assert the |cookies| contains the
diff --git a/tests/wpt/web-platform-tests/cookies/samesite/resources/puppet.html b/tests/wpt/web-platform-tests/cookies/samesite/resources/puppet.html
new file mode 100644
index 00000000000..9f4f8e2242c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookies/samesite/resources/puppet.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<script src="/cookies/resources/cookie-helper.sub.js"></script>
+<script>
+ // Helper to either set or clear some cookies on its own origin, or
+ // (potentially) cross-site on ORIGIN.
+ window.onmessage = e => {
+ var originToUse = ORIGIN;
+ if (e.data.useOwnOrigin)
+ originToUse = self.origin;
+
+ if (e.data.type === "set") {
+ credFetch(originToUse + "/cookies/resources/setSameSite.py?" + e.data.value)
+ .then(_ => {
+ e.source.postMessage({
+ type: "set-complete",
+ value: e.data.value
+ }, "*");
+ });
+ }
+
+ if (e.data.type === "drop") {
+ credFetch(originToUse + "/cookies/resources/dropSameSite.py")
+ .then(_ => {
+ e.source.postMessage({type: "drop-complete"}, "*");
+ });
+ }
+ };
+
+ window.opener.postMessage({
+ type: "READY"
+ }, "*");
+</script>
diff --git a/tests/wpt/web-platform-tests/cookies/samesite/setcookie-lax.html b/tests/wpt/web-platform-tests/cookies/samesite/setcookie-lax.html
new file mode 100644
index 00000000000..2826f676a5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/cookies/samesite/setcookie-lax.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<meta charset="utf-8"/>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="/cookies/resources/cookie-helper.sub.js"></script>
+<script>
+ promise_test(async function(t) {
+ let w = window.open(ORIGIN + "/cookies/samesite/resources/puppet.html");
+ await wait_for_message("READY", ORIGIN);
+ let random = "" + Math.random();
+ w.postMessage({type: "set", value: random}, "*");
+ let e = await wait_for_message("set-complete", ORIGIN)
+ assert_dom_cookie("samesite_strict", e.data.value, true);
+ assert_dom_cookie("samesite_lax", e.data.value, true);
+ assert_dom_cookie("samesite_none", e.data.value, true);
+ w.close();
+ }, "Same-site window should be able to set `SameSite=Lax` or `SameSite=Strict` cookies.");
+
+ promise_test(async function(t) {
+ let w = window.open(CROSS_SITE_ORIGIN + "/cookies/samesite/resources/puppet.html");
+ await wait_for_message("READY", CROSS_SITE_ORIGIN);
+ let random = "" + Math.random();
+ w.postMessage({type: "set", value: random}, "*");
+ let e = await wait_for_message("set-complete", CROSS_SITE_ORIGIN);
+ assert_dom_cookie("samesite_strict", e.data.value, false);
+ assert_dom_cookie("samesite_lax", e.data.value, false);
+ assert_dom_cookie("samesite_none", e.data.value, true);
+ w.close();
+ }, "Cross-site window shouldn't be able to set `SameSite=Lax` or `SameSite=Strict` cookies.");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/CSS2/text/white-space-processing-005.xht b/tests/wpt/web-platform-tests/css/CSS2/text/white-space-processing-005.xht
index 2e2c36dab25..26800d1c1e5 100644
--- a/tests/wpt/web-platform-tests/css/CSS2/text/white-space-processing-005.xht
+++ b/tests/wpt/web-platform-tests/css/CSS2/text/white-space-processing-005.xht
@@ -26,7 +26,7 @@
</head>
<body>
<p>Test passes if the black box below is the same width, or shorter, than the blue box.</p>
- <div id="div1">XX&#09;&#10;</div>
+ <div id="div1">XX&#x0D;&#10;</div>
<div id="div2"></div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity-ref.html b/tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity-ref.html
new file mode 100644
index 00000000000..73b420189ec
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<style>
+div {
+ position: absolute;
+}
+.content {
+ width: 100px;
+ height: 150px;
+ position: absolute;
+ background: blue;
+}
+</style>
+Below should be a light blue square in uniform color.
+<div style="opacity: 0.5; will-change: opacity">
+ <div class="content" style="left: 0"></div>
+ <div class="content" style="left: 50px"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity.html b/tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity.html
new file mode 100644
index 00000000000..f613748af3a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-color/composited-filters-under-opacity.html
@@ -0,0 +1,20 @@
+<link rel="help" href="http://www.w3.org/TR/css3-color/#transparency">
+<link rel="match" href="composited-filters-under-opacity-ref.html">
+<style>
+div {
+ position: absolute;
+ will-change: opacity;
+}
+.content {
+ width: 100px;
+ height: 150px;
+ position: absolute;
+ background: yellow;
+ filter: invert(100%);
+}
+</style>
+Below should be a light blue square in uniform color.
+<div style="opacity: 0.5">
+ <div class="content" style="left: 0"></div>
+ <div class="content" style="left: 50px"></div>
+</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-001.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-001.html
new file mode 100644
index 00000000000..03666417ca4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-001.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — NBSP before atomic inline</title>
+<meta name=assert content="There's a soft wrap opportunity between an atomic inline and a preceeding NBSP">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="../../reference/ref-filled-green-100px-square.xht">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ color: green;
+ width: 100px;
+ height: 100px;
+ background: red;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.
+
+<div>AB&nbsp;<span>CD</span></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-002.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-002.html
new file mode 100644
index 00000000000..ca561fd52b4
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-002.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — NBSP after atomic inline</title>
+<meta name=assert content="There's a soft wrap opportunity between an atomic inline and a following NBSP">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="../../reference/ref-filled-green-100px-square.xht">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+.red {
+ width: 100px;
+ height: 100px;
+ background: red;
+ position: absolute;
+ z-index: -1;
+}
+
+.test {
+ font: 50px/1 Ahem;
+ color: green;
+ width: 100px;
+ height: 100px;
+ margin-left: -50px;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there is a filled green square and <strong>no red</strong>.
+
+<div class=red></div>
+<div class=test><span>&nbsp;AB</span>&nbsp;CD</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-003.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-003.html
new file mode 100644
index 00000000000..5fc007794cf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-003.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — NARROW NO-BREAK SPACE after atomic inline</title>
+<meta name=assert content="There is **not** a soft wrap opportunity between an atomic inline and a following NARROW NO-BREAK SPACE">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-atomic-003-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ width: 0;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there are two identical squares below.
+
+<div><span>AB</span>&#8239;CD</div>
+<div>AB&#8239;CD</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-004.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-004.html
new file mode 100644
index 00000000000..c4aa5757c34
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-004.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — NARROW NO-BREAK SPACE before atomic inline</title>
+<meta name=assert content="There is **not** a soft wrap opportunity between an atomic inline and a preceeding NARROW NO-BREAK SPACE">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-atomic-003-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ width: 0;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there are two identical squares below.
+
+<div>AB&#8239;<span>CD</span></div>
+<div>AB&#8239;CD</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-005.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-005.html
new file mode 100644
index 00000000000..6c53d592ed2
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-005.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — WORD JOINER after atomic inline</title>
+<meta name=assert content="There is **not** a soft wrap opportunity between an atomic inline and a following WORD JOINER">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-atomic-005-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ width: 0;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there is a black square below.
+
+<div><span>A</span>&#8288;B</div>
+<div>A&#8288;B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-006.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-006.html
new file mode 100644
index 00000000000..2eb2a301784
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-006.html
@@ -0,0 +1,22 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — WORD JOINER before atomic inline</title>
+<meta name=assert content="There is **not** a soft wrap opportunity between an atomic inline and a preceeding WORD JOINER">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-atomic-005-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ width: 0;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there is a black square below.
+
+<div>A&#8288;<span>B</span></div>
+<div>A&#8288;B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-007.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-007.html
new file mode 100644
index 00000000000..826ce002a88
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-007.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — atomic inline line breaks like ideographic character</title>
+<meta name=assert content="There's a soft wrap opportunity before and after an atomic inline">
+<link rel=match href="reference/line-breaking-atomic-007-ref.html">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ width: 40px;
+ height: 140px;
+ background: red;
+ color: green;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there is a green rectangle and <strong>no red</strong>.
+
+<div>A<span>B</span>C</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-008.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-008.html
new file mode 100644
index 00000000000..cab17e9a9c0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-atomic-008.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — atomic inline line breaks like ideographic character, keep-all</title>
+<meta name=assert content="There isn't a soft wrap opportunity before and after an atomic inline when word-break is keep-all">
+<link rel=match href="reference/line-breaking-atomic-008-ref.html"
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=help href="https://drafts.csswg.org/css-text-3/#valdef-word-break-keep-all">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+}
+.red {
+ position: absolute;
+ z-index: -1;
+ color: red;
+}
+.test {
+ width: 0;
+ color: green;
+ word-break: keep-all;
+}
+span {
+ display: inline-block;
+}
+</style>
+
+<p>Test passes if there is a green rectangle and <strong>no red</strong>.
+
+<div class=red>ABC</div>
+<div class=test>A<span>B</span>C</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-001.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-001.html
new file mode 100644
index 00000000000..b9928084751
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-001.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — NBSP and replaced element</title>
+<meta name=assert content="There's a soft wrap opportunity between replaced elements and adjacent NBSP.">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-replaced-001-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+.red {
+ position: absolute;
+ z-index: -1;
+}
+.test {
+ width: 0;
+}
+</style>
+
+<p>Test passes if there is no red.
+
+<div class=red><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" width=50><br>&nbsp;<br><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" width=50></div>
+
+<div class=test><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50>&nbsp;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-002.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-002.html
new file mode 100644
index 00000000000..6d6547fddf6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-002.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — NARROW NO-BREAK SPACE and replaced element</title>
+<meta name=assert content="There is **not** a soft wrap opportunity between replaced elements and adjacent NARROW NO-BREAK SPACE">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-replaced-002-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+.red {
+ position: absolute;
+ z-index: -1;
+}
+.test {
+ width: 0;
+}
+</style>
+
+<p>Test passes if there is no red.
+
+<div class=red><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" width=50>&#8239;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" width=50></div>
+
+<div class=test><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50>&#8239;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-003.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-003.html
new file mode 100644
index 00000000000..038b1d8ee5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-003.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — WORD JOINER and replaced element</title>
+<meta name=assert content="There is **not** a soft wrap opportunity between replaced elements and adjacent WORD JOINER">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=match href="reference/line-breaking-replaced-003-ref.html">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+.red {
+ position: absolute;
+ z-index: -1;
+}
+.test {
+ width: 0;
+}
+</style>
+
+<p>Test passes if there is no red.
+
+<div class=red><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" width=50>&#8288;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8DwHwAFBQIAX8jx0gAAAABJRU5ErkJggg==" width=50></div>
+
+<div class=test><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50>&#8288;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-004.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-004.html
new file mode 100644
index 00000000000..2cce40a9a16
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-004.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — replaced elements line break like ideographic characters</title>
+<meta name=assert content="There's a soft wrap opportunity before and after a replaced element">
+<link rel=match href="reference/line-breaking-replaced-004-ref.html">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ width: 0;
+}
+</style>
+
+<p>Test passes if “B” is below “A”.
+
+<div>A<img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-005.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-005.html
new file mode 100644
index 00000000000..fd00799e155
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/line-breaking-replaced-005.html
@@ -0,0 +1,18 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>CSS Text — replaced elements line break like ideographic characters, keep-all</title>
+<meta name=assert content="There isn't a soft wrap opportunity before and after a replaced element with word-break: keep-all">
+<link rel=match href="reference/line-breaking-replaced-005-ref.html">
+<link rel=help href="https://www.w3.org/TR/css-text-3/#line-break-details">
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ width: 0;
+ word-break: keep-all;
+}
+</style>
+
+<p>Test passes if “A” and “B” are on the same line.
+
+<div>A<img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html
new file mode 100644
index 00000000000..93a6d491c23
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-003-ref.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+}
+</style>
+
+<p>Test passes if there are two identical squares below.
+
+<div>AB&#8239;CD</div>
+<div>AB&#8239;CD</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html
new file mode 100644
index 00000000000..aa7f0f4accf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-005-ref.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+}
+</style>
+
+<p>Test passes if there is a black square below.
+
+<div>A&#8288;B</div>
+<div>A&#8288;B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html
new file mode 100644
index 00000000000..cd2b0590aa9
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-007-ref.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ color: green;
+}
+</style>
+
+<p>Test passes if there is a green rectangle and <strong>no red</strong>.
+
+<div>A<br>B<br>C</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html
new file mode 100644
index 00000000000..62d68f5c4b1
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-atomic-008-ref.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<style>
+div {
+ font: 50px/1 Ahem;
+ color: green;
+}
+</style>
+
+<p>Test passes if there is a green rectangle and <strong>no red</strong>.
+
+<div>ABC</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html
new file mode 100644
index 00000000000..330c55e4851
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-001-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+
+<p>Test passes if there is no red.
+
+<div class=test><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50><br>&nbsp;<br><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html
new file mode 100644
index 00000000000..ed6a8145d98
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-002-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+
+<p>Test passes if there is no red.
+
+<div class=test><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50>&#8239;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html
new file mode 100644
index 00000000000..07c8823cead
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-003-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>Test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+
+<p>Test passes if there is no red.
+
+<div class=test><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50>&#8288;<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkaGD4DwACiQGBU29HsgAAAABJRU5ErkJggg==" width=50></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html
new file mode 100644
index 00000000000..c8913bdc592
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-004-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+
+<p>Test passes if “B” is below “A”.
+
+<div>A<br><br>B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html
new file mode 100644
index 00000000000..e0794390c93
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/line-breaking/reference/line-breaking-replaced-005-ref.html
@@ -0,0 +1,9 @@
+<!doctype html>
+<html>
+<meta charset="utf-8">
+<title>test reference</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+
+<p>Test passes if “A” and “B” are on the same line.
+
+<div>A<img src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==">B</div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
index 0491b921e1a..e701f765da2 100644
--- a/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
+++ b/tests/wpt/web-platform-tests/css/css-text/overflow-wrap/overflow-wrap-break-word-007.html
@@ -3,15 +3,16 @@
<title>CSS Text Test: overflow-wrap: break-word</title>
<link rel="author" title="Javier Fernandez Garcia-Boente" href="mailto:jfernandez@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-overflow-wrap-break-word">
-<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-break-spaces">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-white-space-pre-wrap">
<meta name="flags" content="ahem">
<link rel="match" href="reference/overflow-wrap-break-word-001-ref.html">
-<meta name="assert" content="A Single leading white-space constitutes a soft breaking opportunity, honoring the 'white-space: break-spaces' property, that must prevent the word to be broken.">
+<meta name="assert" content="A Single leading white-space constitutes a soft breaking opportunity, honoring the 'white-space: pre-wrap' property, that must prevent the word to be broken.">
<style>
div {
- position: relative;
- font-size: 20px;
- font-family: Ahem;
+ position: relative;
+ font-size: 20px;
+ font-family: Ahem;
+ line-height: 1em;
}
.red {
position: absolute;
@@ -24,7 +25,6 @@ div {
}
.test {
color: green;
- line-height: 1em;
width: 5ch;
white-space: pre-wrap;
diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-invalid.html b/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-invalid.html
index 6d544de8bfa..46456b677d8 100644
--- a/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-invalid.html
+++ b/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-invalid.html
@@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>CSS Text Module Test: parsing word-break with invalid values</title>
<link rel="help" href="https://www.w3.org/TR/css-text-3/#propdef-word-break">
-<meta name="assert" content="word-break supports only the grammar 'normal | keep-all | break-all'.">
+<meta name="assert" content="word-break supports only the grammar 'normal | keep-all | break-all | break-word'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
@@ -14,6 +14,11 @@
test_invalid_value("word-break", "auto");
test_invalid_value("word-break", "normal keep-all");
test_invalid_value("word-break", "break-all break-all");
+test_invalid_value("word-break", "normal break-word");
+test_invalid_value("word-break", "break-word normal");
+test_invalid_value("word-break", "keep-all break-word");
+test_invalid_value("word-break", "break-all break-word");
+test_invalid_value("word-break", "word-break");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-valid.html b/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-valid.html
index 9cd917b488a..7f558848fb8 100644
--- a/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-valid.html
+++ b/tests/wpt/web-platform-tests/css/css-text/parsing/word-break-valid.html
@@ -4,7 +4,7 @@
<meta charset="utf-8">
<title>CSS Text Module Test: parsing word-break with valid values</title>
<link rel="help" href="https://www.w3.org/TR/css-text-3/#propdef-word-break">
-<meta name="assert" content="word-break supports the full grammar 'normal | keep-all | break-all'.">
+<meta name="assert" content="word-break supports the full grammar 'normal | keep-all | break-all | break-word'.">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
@@ -14,6 +14,7 @@
test_valid_value("word-break", "normal");
test_valid_value("word-break", "keep-all");
test_valid_value("word-break", "break-all");
+test_valid_value("word-break", "break-word");
</script>
</body>
</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-ref.html
index 62c8b500aaf..46312eb7bee 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-ref.html
@@ -2,24 +2,20 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: span</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
</style>
+<link rel=mismatch href="shaping-000-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span>&zwj;ع&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span>&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="ar" dir="rtl">ععع</div>
+<div class="ref" lang="ar" dir="rtl">ععع</div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-sanity-ref.html
new file mode 100644
index 00000000000..af43f98b0ca
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-000-sanity-ref.html
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;ع&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;ع&zwnj;ع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-ref.html
index d9465300dfe..53a1093acee 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-ref.html
@@ -2,27 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: colour</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+.text, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.color { color:blue; }
</style>
+<link rel=mismatch href="shaping-001-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="color">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="color">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-sanity-ref.html
new file mode 100644
index 00000000000..802c65387cc
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-001-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.text, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.color { color:blue; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="color">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="color">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-ref.html
index 96d3c1ffdd8..1871724c1de 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-ref.html
@@ -2,27 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: font-weight</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.fontweight { font-weight: bold; }
</style>
+<link rel=mismatch href="shaping-002-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontweight">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontweight">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-sanity-ref.html
new file mode 100644
index 00000000000..5cb1200182e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-002-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.fontweight { font-weight: bold; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="fontweight">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="fontweight">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-ref.html
index 4143f916dcd..734e510af0d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-ref.html
@@ -2,27 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: font-style</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.fontstyle { font-style: italic; }
</style>
+<link rel=mismatch href="shaping-003-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontstyle">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontstyle">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-sanity-ref.html
new file mode 100644
index 00000000000..6ca7f1c2df0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-003-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.fontstyle { font-style: italic; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="fontstyle">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="fontstyle">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-007-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-007-ref.html
deleted file mode 100644
index 8021eb99070..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-007-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>shaping: font size 100%</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.fontsize { font-size:100%; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
-
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontsize">&zwj;ع&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontsize">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-ref.html
index 4e47e4763ed..42be6f8220b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-ref.html
@@ -2,27 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: font size 120%</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.fontsizeplus { font-size:120%; }
</style>
+<link rel=mismatch href="shaping-008-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontsizeplus">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontsizeplus">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-000-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-sanity-ref.html
index 62df53aae2c..abad0b4f8ef 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-000-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-008-sanity-ref.html
@@ -2,7 +2,7 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>marked up diacritic: span</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
@@ -12,14 +12,13 @@
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
+.fontsizeplus { font-size:120%; }
</style>
</head>
<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<div class="ref" lang="ar" dir="rtl">ع&#x064E;ع ع&#x0651;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&#x064E;ع ع&#x0651;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="fontsizeplus">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="fontsizeplus">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-ref.html
index bcdd7acbb68..6ff0985ab96 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-ref.html
@@ -2,26 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: margin &gt; 0</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.margin { margin: 0.5em; }
</style>
+<link rel=mismatch href="shaping-009-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="margin">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="margin">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-004-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-sanity-ref.html
index 263f279bec7..b5545097a37 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-004-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-009-sanity-ref.html
@@ -2,27 +2,21 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: margin 0</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
-.margin { margin:0; }
+.margin { margin: 0.5em; }
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="margin">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="margin">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-ref.html
index 98416e98a7c..18d3325625c 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-ref.html
@@ -2,26 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: padding &gt; 0</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.padding { padding: 0.5em; }
</style>
+<link rel=mismatch href="shaping-010-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="padding">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="padding">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-005-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-sanity-ref.html
index 9614f5d315c..b9d951c8874 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-005-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-010-sanity-ref.html
@@ -2,27 +2,21 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: padding 0</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
-.padding { padding:0; }
+.padding { padding: 0.5em; }
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="padding">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="padding">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-ref.html
index b4bd9422210..418b641e239 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-ref.html
@@ -2,26 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: border &gt; 0</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.border { border: 1px solid #ccc; }
</style>
+<link rel=mismatch href="shaping-011-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="border">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="border">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-006-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-sanity-ref.html
index 1a265c4320c..a57aadc301d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-006-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-011-sanity-ref.html
@@ -2,29 +2,21 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: border 0</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
-.margin { margin:0; }
-.padding { padding:0; }
-.border { border:0; }
+.border { border: 1px solid #ccc; }
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="border">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="border">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-ref.html
index c00fd2cb832..8a2f7198a20 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-ref.html
@@ -2,27 +2,21 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: isolation, bdi</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
</style>
+<link rel=mismatch href="shaping-012-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping-000)</small><br/>
-<small>Skip this test if bdi and dir=auto don't produce isolation in this browser.</small></p>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<bdi>&zwnj;ع&zwnj;</bdi>&zwnj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<bdi>&zwnj;ع&zwnj;</bdi>&zwnj;ع</div>
-<!-- Notes:
-This test only works if bdi and dir=auto are supported by the browser.
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;ع&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;ع&zwnj;ع</div>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-sanity-ref.html
new file mode 100644
index 00000000000..ce2a7ecbe5b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-012-sanity-ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ععع</div>
+<div class="ref" lang="ar" dir="rtl">ععع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-013-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-013-ref.html
deleted file mode 100644
index 199aeb9870f..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-013-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>shaping: isolation, auto</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping-000)</small><br/>
-<small>Skip this test if bdi and dir=auto don't produce isolation in this browser.</small></p>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<bdi>&zwnj;ع&zwnj;</bdi>&zwnj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<bdi>&zwnj;ع&zwnj;</bdi>&zwnj;ع</div>
-<!-- Notes:
-This test only works if bdi and dir=auto are supported by the browser.
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-ref.html
index 1d08b44ed2f..f32ae1c23ec 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-ref.html
@@ -2,25 +2,21 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: text-decoration</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
.styled { text-decoration: underline; }
</style>
+<link rel=mismatch href="shaping-014-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if both boxes look the same.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-sanity-ref.html
new file mode 100644
index 00000000000..c47d28e223b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-014-sanity-ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+.styled { text-decoration: underline; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-015-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-015-ref.html
deleted file mode 100644
index 2269909e4ae..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-015-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>shaping: text-decoration</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { text-decoration: underline; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-ref.html
index 5fa5cd09390..af931cd3c52 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-ref.html
@@ -2,26 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>shaping: outline</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.styled { outline: 1px solid blue; }
</style>
+<link rel=mismatch href="shaping-016-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-sanity-ref.html
new file mode 100644
index 00000000000..15debe37b9e
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-016-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.styled { outline: 1px solid blue; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-017-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-017-ref.html
deleted file mode 100644
index 94ffc829ab4..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-017-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>shaping: em element</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-style: italic; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if both boxes look the same.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<em>&zwj;ع&zwj;</em>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
-It also assumes that the default rendering for the em element is italic.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-018-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-018-ref.html
deleted file mode 100644
index b53c5aeb8d9..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-018-ref.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>shaping: b element</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-weight: bold; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<b>&zwj;ع&zwj;</b>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
-It also assumes that the default rendering for the b element is bold.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-ref.html
index b95a6d57342..b5c4d4dcbc0 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-ref.html
@@ -2,25 +2,22 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>n'ko, colour</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.styled { color:blue; }
</style>
+<link rel="mismatch" href="shaping-020-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three N'Ko characters join.</p>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
+
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
-<!-- Notes:
-This test uses the Noto Sans N'Ko font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-sanity-ref.html
new file mode 100644
index 00000000000..da3a1469be0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-020-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.styled { color:blue; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
+
+<div class="ref" lang="nqo" dir="rtl">ߞ&zwnj;<span class="styled">&zwnj;ߞ&zwnj;</span>&zwnj;ߞ</div>
+<div class="ref" lang="nqo" dir="rtl">ߞ&zwnj;<span class="styled">&zwnj;ߞ&zwnj;</span>&zwnj;ߞ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-ref.html
index f3b45a1377c..c4e63eff6fb 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-ref.html
@@ -2,25 +2,21 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>n'ko, font-style</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
.styled { font-style:italic; }
</style>
+<link rel="mismatch" href="shaping-021-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three N'Ko characters join.</p>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
-<!-- Notes:
-This test uses the Noto Sans N'Ko font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-sanity-ref.html
new file mode 100644
index 00000000000..103e38e6c6c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-021-sanity-ref.html
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.styled { font-style:italic; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="nqo" dir="rtl">ߞ&zwnj;<span class="styled">&zwnj;ߞ&zwnj;</span>&zwnj;ߞ</div>
+<div class="ref" lang="nqo" dir="rtl">ߞ&zwnj;<span class="styled">&zwnj;ߞ&zwnj;</span>&zwnj;ߞ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-ref.html
index b0f60a57dd5..6db719d2c13 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-ref.html
@@ -2,7 +2,7 @@
<html lang="en" >
<head>
<meta charset="utf-8">
-<title>n'ko, text-decoration</title>
+<title>reference</title>
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
@@ -14,13 +14,11 @@
/* the CSS above is not part of the test */
.styled { text-decoration: underline; }
</style>
+<link rel="mismatch" href="shaping-022-sanity-ref.html">
</head>
<body>
-<p class="instructions">Test passes if the three N'Ko characters join.</p>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
-<!-- Notes:
-This test uses the Noto Sans N'Ko font to control variables related to font choice.
--->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-sanity-ref.html
new file mode 100644
index 00000000000..fe28ab3a579
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-022-sanity-ref.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
+ font-weight: normal;
+ font-style: normal;
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
+/* the CSS above is not part of the test */
+.styled { text-decoration: underline; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="nqo" dir="rtl">ߞ&zwnj;<span class="styled">&zwnj;ߞ&zwnj;</span>&zwnj;ߞ</div>
+<div class="ref" lang="nqo" dir="rtl">ߞ&zwnj;<span class="styled">&zwnj;ߞ&zwnj;</span>&zwnj;ߞ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-ref.html
new file mode 100644
index 00000000000..35e6b75b4a0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="mismatch" href="shaping-023-sanity-ref.html">
+<link rel="mismatch" href="shaping-023-sanity-2-ref.html">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
+/* the CSS above is not part of the test */
+.styled { color:blue; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-2-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-2-ref.html
new file mode 100644
index 00000000000..cbde30c641b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-2-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; text-orientation: upright;}
+/* the CSS above is not part of the test */
+.styled { color:blue; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-ref.html
new file mode 100644
index 00000000000..966579be1c3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-023-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
+/* the CSS above is not part of the test */
+.styled { color:blue; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-ref.html
new file mode 100644
index 00000000000..2a955ae1e16
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="mismatch" href="shaping-024-sanity-ref.html">
+<link rel="mismatch" href="shaping-024-sanity-2-ref.html">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
+/* the CSS above is not part of the test */
+.styled { font-style:italic; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-2-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-2-ref.html
new file mode 100644
index 00000000000..657478d9c76
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-2-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; text-orientation: upright;}
+/* the CSS above is not part of the test */
+.styled { font-style:italic; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-ref.html
new file mode 100644
index 00000000000..fe89eecf687
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-024-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
+/* the CSS above is not part of the test */
+.styled { font-style:italic; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-ref.html
new file mode 100644
index 00000000000..19d45f49830
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-ref.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="mismatch" href="shaping-025-sanity-ref.html">
+<link rel="mismatch" href="shaping-025-sanity-2-ref.html">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
+/* the CSS above is not part of the test */
+.styled { text-decoration:underline; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-2-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-2-ref.html
new file mode 100644
index 00000000000..95e0ba2172a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-2-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; text-orientation: upright;}
+/* the CSS above is not part of the test */
+.styled { text-decoration:underline; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-ref.html
new file mode 100644
index 00000000000..a75dd158d45
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping-025-sanity-ref.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8">
+<title>reference</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<style type="text/css">
+@font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
+ }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
+/* the CSS above is not part of the test */
+.styled { text-decoration:underline; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwnj;<span class="styled">&zwnj;ᠨ&zwnj;</span>&zwnj;ᠨ</div>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-001-ref.html
deleted file mode 100644
index 28f2d0ad063..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-001-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: colour</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { color:blue; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small></p>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-002-ref.html
deleted file mode 100644
index e46a4663051..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-002-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font-weight</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-weight: bold; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-003-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-003-ref.html
deleted file mode 100644
index 835ad521fd0..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-003-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font-style</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-style: italic; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-004-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-004-ref.html
deleted file mode 100644
index 5ec1500dde8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-004-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: margin 0</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { margin:0; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-005-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-005-ref.html
deleted file mode 100644
index 4d83cf6ec09..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-005-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: padding 0</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { padding:0; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-006-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-006-ref.html
deleted file mode 100644
index 3a293849849..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-006-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: border 0</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { border:0; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-007-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-007-ref.html
deleted file mode 100644
index 950ef6457cd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-007-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font size 100%</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-size:100%; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-008-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-008-ref.html
deleted file mode 100644
index 0e54de5098d..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-008-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font size 120%</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-size:120%; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-009-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-009-ref.html
deleted file mode 100644
index 9470b65ea50..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-009-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: margin &gt; 0</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 5em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { margin: 0.5em; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic characters DON'T show joining forms.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-010-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-010-ref.html
deleted file mode 100644
index 59f02a8d558..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-010-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: padding &gt; 0</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 5em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { padding: 0.5em; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic characters DON'T show joining forms.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-011-ref.html b/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-011-ref.html
deleted file mode 100644
index 83a5139a21a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/reference/shaping_cchar-011-ref.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: border &gt; 0</title>
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 5em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { border: 1px solid #ccc; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic characters DON'T show joining forms.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-000.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-000.html
index 6a56c09064d..cd682ac733c 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-000.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-000.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: span</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries with no styling change.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries with no styling change.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-000-ref.html">
@@ -11,19 +11,17 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span>ع</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span>&zwj;ع&zwj;</span>&zwj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ععع</div>
<!-- Notes:
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-001.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-001.html
index 5c5ac1a0cd4..ce10ea93d7f 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-001.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-001.html
@@ -3,16 +3,15 @@
<head>
<meta charset="utf-8">
<title>shaping: colour</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to colour.">
+<meta name="assert" content="Arabic shaping should not be broken across inline box boundaries for changes to colour.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-001-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -21,7 +20,6 @@
</head>
<body>
<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
<div class="test" lang="ar" dir="rtl">ع<span class="color">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="color">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +27,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-002.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-002.html
index f4b4122bf56..282e7d186d8 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-002.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-002.html
@@ -3,16 +3,16 @@
<head>
<meta charset="utf-8">
<title>shaping: font-weight</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes in font weight.">
+<meta name="assert" content="Arabic shaping should not be broken across inline box boundaries for changes in font weight.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-002-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,8 +20,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="fontweight">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontweight">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +28,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-003.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-003.html
index 3cc4b3dfc3f..58602316f4b 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-003.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-003.html
@@ -3,15 +3,15 @@
<head>
<meta charset="utf-8">
<title>shaping: font-style</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes in font style.">
+<meta name="assert" content="Arabic shaping should not be broken across inline box boundaries for changes in font style.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-003-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
@@ -20,8 +20,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="fontstyle">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontstyle">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +28,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-004.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-004.html
index 3b7d1724e5c..4eaa25ad4d5 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-004.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-004.html
@@ -3,16 +3,14 @@
<head>
<meta charset="utf-8">
<title>shaping: margin 0</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries when margin is set to 0.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries when margin is set to 0.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-004-ref.html">
+<link rel="match" href="reference/shaping-000-ref.html">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,8 +18,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="margin">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="margin">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +26,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-005.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-005.html
index 2ef446f6c5a..809ea2f41cd 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-005.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-005.html
@@ -3,16 +3,14 @@
<head>
<meta charset="utf-8">
<title>shaping: padding 0</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries when padding is set to 0.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries when padding is set to 0.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-005-ref.html">
+<link rel="match" href="reference/shaping-000-ref.html">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,8 +18,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="padding">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="padding">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +26,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-006.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-006.html
index 5fad09bc317..21a13c0487f 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-006.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-006.html
@@ -3,16 +3,14 @@
<head>
<meta charset="utf-8">
<title>shaping: border 0</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries when border is set to 0.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries when border is set to 0.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-006-ref.html">
+<link rel="match" href="reference/shaping-000-ref.html">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -22,8 +20,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="border">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="border">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -31,4 +28,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-007.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-007.html
index 33a81b6df1a..a4f3dc10ee2 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-007.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-007.html
@@ -3,16 +3,14 @@
<head>
<meta charset="utf-8">
<title>shaping: font size 100%</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries when font-size is set to 100%.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries when font-size is set to 100%.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-007-ref.html">
+<link rel="match" href="reference/shaping-000-ref.html">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,8 +18,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="fontsize">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontsize">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +26,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-008.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-008.html
index f7f1fad6035..509645b3494 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-008.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-008.html
@@ -3,16 +3,15 @@
<head>
<meta charset="utf-8">
<title>shaping: font size 120%</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to font-size.">
+<meta name="assert" content="Arabic shaping should not be broken across inline box boundaries for changes to font-size.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-008-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,8 +19,7 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
<div class="test" lang="ar" dir="rtl">ع<span class="fontsizeplus">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="fontsizeplus">&zwj;ع&zwj;</span>&zwj;ع</div>
@@ -29,4 +27,4 @@
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-009.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-009.html
index 979e5fd5906..4d1d1f7c978 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-009.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-009.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: margin &gt; 0</title>
-<meta name="assert" content="Shaping SHOULD be broken across inline box boundaries when marginis set to a non-zero value.">
+<meta name="assert" content="Shaping MUST be broken across inline box boundaries when marginis set to a non-zero value.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-009-ref.html">
@@ -11,8 +11,6 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,12 +18,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<span class="margin">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="margin">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
<!-- Notes:
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-010.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-010.html
index 02f7ce38bc9..cd318542bbb 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-010.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-010.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: padding &gt; 0</title>
-<meta name="assert" content="Shaping SHOULD be broken across inline box boundaries when padding is set to a non-zero value.">
+<meta name="assert" content="Shaping MUST be broken across inline box boundaries when padding is set to a non-zero value.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-010-ref.html">
@@ -11,8 +11,6 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,12 +18,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<span class="padding">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="padding">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
<!-- Notes:
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-011.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-011.html
index a2316f54877..64b464e80bf 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-011.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-011.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: border &gt; 0</title>
-<meta name="assert" content="Shaping SHOULD be broken across inline box boundaries when border is set to a non-zero value.">
+<meta name="assert" content="Shaping MUST be broken across inline box boundaries when border is set to a non-zero value.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-011-ref.html">
@@ -11,8 +11,6 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,12 +18,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<span class="border">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="border">&zwnj;ع&zwnj;</span>&zwnj;ع</div>
<!-- Notes:
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-012.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-012.html
index 6bc26206d32..6ae3a9ba2bf 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-012.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-012.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: isolation, bdi</title>
-<meta name="assert" content="Shaping SHOULD be broken across inline box boundaries when isolation occurs.">
+<meta name="assert" content="Shaping MUST be broken across inline box boundaries when isolation occurs.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-012-ref.html">
@@ -11,22 +11,19 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping-000)</small><br/>
-<small>Skip this test if bdi and dir=auto don't produce isolation in this browser.</small></p>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<bdi>ع</bdi>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwnj;<bdi>&zwnj;ع&zwnj;</bdi>&zwnj;ع</div>
<!-- Notes:
-This test only works if bdi and dir=auto are supported by the browser.
+This test only works if bdi is supported by the browser.
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-013.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-013.html
index a4b55b22c26..e9b3359e785 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-013.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-013.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: isolation, auto</title>
-<meta name="assert" content="Shaping SHOULD be broken across inline box boundaries when isolation occurs.">
+<meta name="assert" content="Shaping MUST be broken across inline box boundaries when isolation occurs.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-012-ref.html">
@@ -11,22 +11,19 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters DON'T join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping-000)</small><br/>
-<small>Skip this test if bdi and dir=auto don't produce isolation in this browser.</small></p>
+<p class="instructions">Test passes if the three Arabic characters in each box DON'T join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<span dir="auto">ع</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<bdi>&zwnj;ع&zwnj;</bdi>&zwnj;ع</div>
+<div class="ref" lang="ar" dir="rtl">ع&zwnj;ع&zwnj;ع</div>
<!-- Notes:
-This test only works if bdi and dir=auto are supported by the browser.
+This test only works if dir=auto is supported by the browser.
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-014.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-014.html
index 100a7d78859..01e80c35f2f 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-014.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-014.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: text-decoration</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes in text-decoration.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries for changes in text-decoration.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-014-ref.html">
@@ -11,8 +11,6 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,12 +18,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if both boxes look the same.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<span class="styled">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
<!-- Notes:
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-015.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-015.html
deleted file mode 100644
index fcbc44a57dd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-015.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>shaping: text-decoration</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes in text-decoration.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-015-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { text-decoration: underline; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">ع</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-016.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-016.html
index da3246215f9..b1800565108 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-016.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-016.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>shaping: outline</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes in outline.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries for changes in outline.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-016-ref.html">
@@ -11,8 +11,6 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,12 +18,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<span class="styled">ع</span>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
<!-- Notes:
This test uses the Noto Naskh Arabic font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-017.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-017.html
index cb1acef205f..e4dc68a126d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-017.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-017.html
@@ -3,15 +3,15 @@
<head>
<meta charset="utf-8">
<title>shaping: em element</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for the em element.">
+<meta name="assert" content="Arabic shaping should not be broken across inline box boundaries for the em element.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-017-ref.html">
+<link rel="match" href="reference/shaping-003-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
@@ -20,8 +20,8 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if both boxes look the same.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<em>ع</em>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
<!-- Notes:
@@ -29,4 +29,4 @@ This test uses the Noto Naskh Arabic font to control variables related to font c
It also assumes that the default rendering for the em element is italic.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-018.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-018.html
index a4b69e96435..fc44d6e640d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-018.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-018.html
@@ -3,16 +3,16 @@
<head>
<meta charset="utf-8">
<title>shaping: b element</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for the b element.">
+<meta name="assert" content="Arabic shaping should not be broken across inline box boundaries for the b element.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping-018-ref.html">
+<link rel="match" href="reference/shaping-002-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,8 +20,8 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Arabic characters join.</p>
-<small>Skip if markup alone breaks the join (test shaping-000)</small>
+<p class="instructions">Test passes if the three Arabic characters in each box join, making the two boxes identical.</p>
+
<div class="test" lang="ar" dir="rtl">ع<b>ع</b>ع</div>
<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;ع&zwj;</span>&zwj;ع</div>
<!-- Notes:
@@ -29,4 +29,4 @@ This test uses the Noto Naskh Arabic font to control variables related to font c
It also assumes that the default rendering for the b element is bold.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-020.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-020.html
index 10f612c3a25..a88b339e344 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-020.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-020.html
@@ -6,13 +6,13 @@
<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to colour in N'Ko.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
+<link rel="help" href="http://www.unicode.org/versions/Unicode12.0.0/ch19.pdf">
<link rel="match" href="reference/shaping-020-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,11 +20,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three N'Ko characters join.</p>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
+
<div class="test" lang="nqo" dir="rtl">ߞ<span class="styled">ߞ</span>ߞ</div>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
<!-- Notes:
This test uses the Noto Sans N'Ko font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-021.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-021.html
index 53201685edb..b94a39e4db7 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-021.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-021.html
@@ -7,12 +7,11 @@
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-021-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,11 +19,12 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three N'Ko characters join.</p>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
+
<div class="test" lang="nqo" dir="rtl">ߞ<span class="styled">ߞ</span>ߞ</div>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
<!-- Notes:
This test uses the Noto Sans N'Ko font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-022.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-022.html
index 06dde6f370c..131b23253f9 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-022.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-022.html
@@ -3,7 +3,7 @@
<head>
<meta charset="utf-8">
<title>n'ko, text-decoration</title>
-<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to text-decoration in N'Ko.">
+<meta name="assert" content="Shaping must not be broken across inline box boundaries for changes to text-decoration in N'Ko.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
<link rel="match" href="reference/shaping-022-ref.html">
@@ -11,8 +11,6 @@
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoSansNko-regular-webfont.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
/* the CSS above is not part of the test */
@@ -20,11 +18,11 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three N'Ko characters join.</p>
+<p class="instructions">Test passes if the three N'Ko characters in each box join, making the two boxes identical.</p>
<div class="test" lang="nqo" dir="rtl">ߞ<span class="styled">ߞ</span>ߞ</div>
<div class="ref" lang="nqo" dir="rtl">ߞ&zwj;<span class="styled">&zwj;ߞ&zwj;</span>&zwj;ߞ</div>
<!-- Notes:
This test uses the Noto Sans N'Ko font to control variables related to font choice.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-023.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-023.html
index 4ab0c1b31a7..67009d57a78 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-023.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-023.html
@@ -6,25 +6,24 @@
<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to colour in Mongolian.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
+<link rel="match" href="reference/shaping-023-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
src: url('/fonts/noto/NotoSansMongolian-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
}
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; }
+.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; writing-mode: vertical-lr; float:left; }
/* the CSS above is not part of the test */
.styled { color:blue; }
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Mongolian characters join in the right-hand line.</p>
-<small>Skip the test if the line on the left isn't arranged vertically and joined up.</small>
-<div class="test" lang="mn" dir="rtl">ᠨᠨᠨ<br/>ᠨ<span class="styled">ᠨ</span>ᠨ</div>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="test" lang="mn" dir="rtl">ᠨ<span class="styled">ᠨ</span>ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
<!-- Notes:
This test uses the Noto Sans Mongolian font to control variables related to font choice.
-The test is manual because Safari (and possibly other browsers) don't support joining for vertical Mongolian anyway, so ref tests wouldn't test the correct thing.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-024.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-024.html
index 306ce43663d..3ab2bbe9510 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-024.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-024.html
@@ -6,6 +6,8 @@
<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to font-style in Mongolian.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
+<link rel="match" href="reference/shaping-024-ref.html">
+<meta name="flags" content="should">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
@@ -19,12 +21,11 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Mongolian characters join in the right-hand line.</p>
-<small>Skip the test if the line on the left isn't arranged vertically and joined up.</small>
-<div class="test" lang="mn" dir="rtl">ᠨᠨᠨ<br/>ᠨ<span class="styled">ᠨ</span>ᠨ</div>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="test" lang="mn" dir="rtl">ᠨ<span class="styled">ᠨ</span>ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
<!-- Notes:
This test uses the Noto Sans Mongolian font to control variables related to font choice.
-The test is manual because Safari (and possibly other browsers) don't support joining for vertical Mongolian anyway, so ref tests wouldn't test the correct thing.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-025.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-025.html
index 0c08600bfc4..c888784cd45 100644
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-025.html
+++ b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping-025.html
@@ -6,6 +6,7 @@
<meta name="assert" content="Shaping should not be broken across inline box boundaries for changes to text-decoration in Mongolian.">
<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
+<link rel="match" href="reference/shaping-025-ref.html">
<style type="text/css">
@font-face {
font-family: 'csstest_noto';
@@ -19,12 +20,11 @@
</style>
</head>
<body>
-<p class="instructions">Test passes if the three Mongolian characters join in the right-hand line.</p>
-<small>Skip the test if the line on the left isn't arranged vertically and joined up.</small>
-<div class="test" lang="mn" dir="rtl">ᠨᠨᠨ<br/>ᠨ<span class="styled">ᠨ</span>ᠨ</div>
+<p class="instructions">Test passes if the three Mongolian characters in each box join, making the two boxes identical.</p>
+<div class="test" lang="mn" dir="rtl">ᠨ<span class="styled">ᠨ</span>ᠨ</div>
+<div class="ref" lang="mn" dir="rtl">ᠨ&zwj;<span class="styled">&zwj;ᠨ&zwj;</span>&zwj;ᠨ</div>
<!-- Notes:
This test uses the Noto Sans Mongolian font to control variables related to font choice.
-The test is manual because Safari (and possibly other browsers) don't support joining for vertical Mongolian anyway, so ref tests wouldn't test the correct thing.
-->
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-000.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-000.html
deleted file mode 100644
index 62490a2b48a..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-000.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>marked up diacritic: span</title>
-<meta name="assert" content="Shaping should not be broken by a span with no styling change for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-000-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<div class="test" lang="ar" dir="rtl">ع<span>&#x064E;</span>ع ع<span>&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&#x064E;ع ع&#x0651;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-001.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-001.html
deleted file mode 100644
index 48ab60a20c8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-001.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: colour</title>
-<meta name="assert" content="Shaping should not be broken for changes to colour for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-001-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { color:blue; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small></p>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-002.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-002.html
deleted file mode 100644
index 5885743d908..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-002.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font-weight</title>
-<meta name="assert" content="Shaping should not be broken for changes in font weight for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-002-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-weight: bold; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-003.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-003.html
deleted file mode 100644
index 32f40dd45ed..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-003.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font-style</title>
-<meta name="assert" content="Shaping should not be broken for changes in font style for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-003-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-style: italic; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-004.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-004.html
deleted file mode 100644
index 2b24475031e..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-004.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: margin 0</title>
-<meta name="assert" content="Shaping should not be broken when margin is set to 0 for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-004-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { margin:0; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-005.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-005.html
deleted file mode 100644
index 8454d4ea054..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-005.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: padding 0</title>
-<meta name="assert" content="Shaping should not be broken when padding is set to 0 for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-005-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { padding:0; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-006.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-006.html
deleted file mode 100644
index 5f36e7dde57..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-006.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: border 0</title>
-<meta name="assert" content="Shaping should not be broken when border is set to 0 for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-006-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { border:0; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-007.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-007.html
deleted file mode 100644
index bd9e44e6609..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-007.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font size 100%</title>
-<meta name="assert" content="Shaping should not be broken when font-size is set to 100% for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-007-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-size:100%; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-008.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-008.html
deleted file mode 100644
index 17295db5234..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-008.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: font size 120%</title>
-<meta name="assert" content="Shaping should not be broken when font-size is changed for an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-008-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 3em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { font-size:120%; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic base characters in each word join.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwj;<span class="styled">&zwj;&#x064E;&zwj;</span>&zwj;ع ع&zwj;<span class="styled">&zwj;&#x0651;&zwj;</span>&zwj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-009.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-009.html
deleted file mode 100644
index e17218d29a8..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-009.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: margin &gt; 0</title>
-<meta name="assert" content="Shaping SHOULD be broken when margin is set to a non-zero value on an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-009-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 5em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { margin: 0.5em; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic characters DON'T show joining forms.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-010.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-010.html
deleted file mode 100644
index 0f9d8a4c1fd..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-010.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: padding &gt; 0</title>
-<meta name="assert" content="Shaping SHOULD be broken when padding is set to a non-zero value on an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-010-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 5em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { padding: 0.5em; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic characters DON'T show joining forms.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-011.html b/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-011.html
deleted file mode 100644
index 8ab7606d9ce..00000000000
--- a/tests/wpt/web-platform-tests/css/css-text/shaping/shaping_cchar-011.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!DOCTYPE html>
-<html lang="en" >
-<head>
-<meta charset="utf-8">
-<title>styled diacritic: border &gt; 0</title>
-<meta name="assert" content="Shaping SHOULD be broken when border is set to a non-zero value on an intervening diacritic.">
-<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
-<link rel="help" href="https://drafts.csswg.org/css-text/#boundary-shaping">
-<link rel="match" href="reference/shaping_cchar-011-ref.html">
-<style type="text/css">
-@font-face {
- font-family: 'csstest_noto';
- src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
- font-weight: normal;
- font-style: normal;
- }
-.test, .ref { border: 1px solid #02D7F6; margin: 20px; padding: 10px; width: 5em; font-size: 120px; font-family: "csstest_noto"; }
-/* the CSS above is not part of the test */
-.styled { border: 1px solid #ccc; }
-</style>
-</head>
-<body>
-<p class="instructions">Test passes if the Arabic characters DON'T show joining forms.</p>
-<p><small>Skip if markup alone breaks the join (test shaping_cchar-000)</small><br/>
-<div class="test" lang="ar" dir="rtl">ع<span class="styled">&#x064E;</span>ع ع<span class="styled">&#x0651;</span>ع</div>
-<div class="ref" lang="ar" dir="rtl">ع&zwnj;<span class="styled">&zwnj;&#x064E;&zwnj;</span>&zwnj;ع ع&zwnj;<span class="styled">&zwnj;&#x0651;&zwnj;</span>&zwnj;ع</div>
-<!-- Notes:
-This test uses the Noto Naskh Arabic font to control variables related to font choice.
--->
-</body>
-</html> \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-join-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-join-001-ref.html
new file mode 100644
index 00000000000..1baeea5b0b5
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-join-001-ref.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td>&#xFE8E;
+ <td>&#xFE8E;
+<tr><!-- alef, final form -->
+ <td>&#xFE8E;
+ <td>&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#xFE91;
+ <td>&#xFE91;
+<tr><!-- beh, medial form -->
+ <td>&#xFE92;
+ <td>&#xFE92;
+<tr><!-- beh, final form -->
+ <td>&#xFE90;
+ <td>&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html
new file mode 100644
index 00000000000..4bf1b4aed7a
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-no-join-001-ref.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test test</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ font-weight: normal;
+ font-style: normal;
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, isolated rather than final -->
+ <td>&#x640;&#xFE8D;
+ <td>&#x640;&#xFE8D;
+<tr><!-- beh, isolated rather than initial -->
+ <td>&#xFE8F;&#x640;
+ <td>&#xFE8F;&#x640;
+<tr><!-- beh, final rather than medial -->
+ <td>&#x640;&#xFE90;&#x640;
+ <td>&#x640;&#xFE90;&#x640;
+<tr><!-- beh, isolated rather than medial -->
+ <td>&#x640;&#xFE8F;&#x640;
+ <td>&#x640;&#xFE8F;&#x640;
+<tr><!-- beh, initial rather than medial -->
+ <td>&#x640;&#xFE91;&#x640;
+ <td>&#x640;&#xFE91;&#x640;
+<tr><!-- beh, isolated rather than final -->
+ <td>&#x640;&#xFE8F;
+ <td>&#x640;&#xFE8F;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html
new file mode 100644
index 00000000000..87880e666a3
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-001-ref.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ font-weight: normal;
+ font-style: normal;
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td>&#x640;&#xFE8E;&#x640;
+ <td>&#x640;&#xFE8E;&#x640;
+<tr><!-- alef, final form -->
+ <td>&#x640;&#xFE8E;
+ <td>&#x640;&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#xFE91;&#x640;
+ <td>&#xFE91;&#x640;
+<tr><!-- beh, medial form -->
+ <td>&#x640;&#xFE92;&#x640;
+ <td>&#x640;&#xFE92;&#x640;
+<tr><!-- beh, final form -->
+ <td>&#x640;&#xFE90;
+ <td>&#x640;&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html
new file mode 100644
index 00000000000..4393172ac2d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/reference/shaping-tatweel-002-ref.html
@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test reference</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'tatweel';
+ src: url('/fonts/Scheherazade-Regular.woff') format('woff');
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ span {
+ font-family: 'tatweel';
+ line-height: 0;
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td><span>&#x640;</span>&#xFE8E;<span>&#x640;</span>
+ <td><span>&#x640;</span>&#xFE8E;<span>&#x640;</span>
+<tr><!-- alef, final form -->
+ <td><span>&#x640;</span>&#xFE8E;
+ <td><span>&#x640;</span>&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#xFE91;<span>&#x640;</span>
+ <td>&#xFE91;<span>&#x640;</span>
+<tr><!-- beh, medial form -->
+ <td><span>&#x640;</span>&#xFE92;<span>&#x640;</span>
+ <td><span>&#x640;</span>&#xFE92;<span>&#x640;</span>
+<tr><!-- beh, final form -->
+ <td><span>&#x640;</span>&#xFE90;
+ <td><span>&#x640;</span>&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-001.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-001.html
new file mode 100644
index 00000000000..c4a4d00c92f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-001.html
@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: zwj and text-shaping</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-join-001-ref.html">
+<meta name="assert" content="Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td>&zwj;&#x0627;&zwj;
+ <td>&#xFE8E;
+<tr><!-- alef, final form -->
+ <td>&zwj;&#x0627;
+ <td>&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#x0628;&zwj;
+ <td>&#xFE91;
+<tr><!-- beh, medial form -->
+ <td>&zwj;&#x0628;&zwj;
+ <td>&#xFE92;
+<tr><!-- beh, final form -->
+ <td>&zwj;&#x0628;
+ <td>&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-002.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-002.html
new file mode 100644
index 00000000000..1e4eaf7fe99
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-002.html
@@ -0,0 +1,59 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: zwj and text-shaping, cross font, fallback</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-join-001-ref.html">
+<meta name="assert" content="Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form, even if the ZWJ comes from a differnt font due to font fallback.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'primary';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ unicode-range: U+20;
+ }
+ @font-face {
+ font-family: 'joiners';
+ src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
+ unicode-range: U+200C-200D;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ /*using a primary font with just U+20 (space) to get the baseline right*/
+ font-family: 'primary', 'joiners', 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td>&zwj;&#x0627;&zwj;
+ <td>&#xFE8E;
+<tr><!-- alef, final form -->
+ <td>&zwj;&#x0627;
+ <td>&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#x0628;&zwj;
+ <td>&#xFE91;
+<tr><!-- beh, medial form -->
+ <td>&zwj;&#x0628;&zwj;
+ <td>&#xFE92;
+<tr><!-- beh, final form -->
+ <td>&zwj;&#x0628;
+ <td>&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-003.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-003.html
new file mode 100644
index 00000000000..71459335d48
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-join-003.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: zwj and text-shaping, cross font, explicit</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-join-001-ref.html">
+<meta name="assert" content="Arabic characters next to a ZERO WIDTH JOINER character must take their correct positional form, even if the ZWJ comes from a differnt font due to being in a different element with an explicit different font.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'joiners';
+ src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ span {
+ font-family: 'joiners';
+ line-height: 0;
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td><span>&zwj;</span>&#x0627;<span>&zwj;</span>
+ <td>&#xFE8E;
+<tr><!-- alef, final form -->
+ <td><span>&zwj;</span>&#x0627;
+ <td>&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#x0628;<span>&zwj;</span>
+ <td>&#xFE91;
+<tr><!-- beh, medial form -->
+ <td><span>&zwj;</span>&#x0628;<span>&zwj;</span>
+ <td>&#xFE92;
+<tr><!-- beh, final form -->
+ <td><span>&zwj;</span>&#x0628;
+ <td>&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-001.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-001.html
new file mode 100644
index 00000000000..738189d3a3d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-001.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: zwnj and text-shaping</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_disjoining_enforcement">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-no-join-001-ref.html">
+<meta name="assert" content="Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form. ">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, isolated rather than final -->
+ <td>&#x640;&zwnj;&#x0627;
+ <td>&#x640;&#xFE8D;
+<tr><!-- beh, isolated rather than initial -->
+ <td>&#x0628;&zwnj;&#x640;
+ <td>&#xFE8F;&#x640;
+<tr><!-- beh, final rather than medial -->
+ <td>&#x640;&#x0628;&zwnj;&#x640;
+ <td>&#x640;&#xFE90;&#x640;
+<tr><!-- beh, isolated rather than medial -->
+ <td>&#x640;&zwnj;&#x0628;&zwnj;&#x640;
+ <td>&#x640;&#xFE8F;&#x640;
+<tr><!-- beh, initial rather than medial -->
+ <td>&#x640;&zwnj;&#x0628;&#x640;
+ <td>&#x640;&#xFE91;&#x640;
+<tr><!-- beh, isolated rather than final -->
+ <td>&#x640;&zwnj;&#x0628;
+ <td>&#x640;&#xFE8F;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-002.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-002.html
new file mode 100644
index 00000000000..14fa73ed859
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-002.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: zwnj and text-shaping, cross font, fallback</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_disjoining_enforcement">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-no-join-001-ref.html">
+<meta name="assert" content="Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form, even if the ZWNJ comes from a differnt font due to font fallback.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'primary';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ unicode-range: U+20;
+ }
+ @font-face {
+ font-family: 'joiners';
+ src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
+ unicode-range: U+200C-200D;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ /*using a primary font with just U+20 (space) to get the baseline right*/
+ font-family: 'primary', 'joiners', 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, isolated rather than final -->
+ <td>&#x640;&zwnj;&#x0627;
+ <td>&#x640;&#xFE8D;
+<tr><!-- beh, isolated rather than initial -->
+ <td>&#x0628;&zwnj;&#x640;
+ <td>&#xFE8F;&#x640;
+<tr><!-- beh, final rather than medial -->
+ <td>&#x640;&#x0628;&zwnj;&#x640;
+ <td>&#x640;&#xFE90;&#x640;
+<tr><!-- beh, isolated rather than medial -->
+ <td>&#x640;&zwnj;&#x0628;&zwnj;&#x640;
+ <td>&#x640;&#xFE8F;&#x640;
+<tr><!-- beh, initial rather than medial -->
+ <td>&#x640;&zwnj;&#x0628;&#x640;
+ <td>&#x640;&#xFE91;&#x640;
+<tr><!-- beh, isolated rather than final -->
+ <td>&#x640;&zwnj;&#x0628;
+ <td>&#x640;&#xFE8F;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-003.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-003.html
new file mode 100644
index 00000000000..e7d8c857018
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-no-join-003.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: zwnj and text-shaping, cross font, explicit</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch23.pdf">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_disjoining_enforcement">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-no-join-001-ref.html">
+<meta name="assert" content="Arabic characters next to a ZERO WIDTH NON JOINER character must not take their positional form, even if the ZWNJ comes from a differnt font due to being in a different element with an explicit different font.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'joiners';
+ src: url('/fonts/noto/noto-sans-v8-latin-regular.woff') format('woff');
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ span {
+ font-family: 'joiners';
+ line-height: 0;
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, isolated rather than final -->
+ <td>&#x640;<span>&zwnj;</span>&#x0627;
+ <td>&#x640;&#xFE8D;
+<tr><!-- beh, isolated rather than initial -->
+ <td>&#x0628;<span>&zwnj;</span>&#x640;
+ <td>&#xFE8F;&#x640;
+<tr><!-- beh, final rather than medial -->
+ <td>&#x640;&#x0628;<span>&zwnj;</span>&#x640;
+ <td>&#x640;&#xFE90;&#x640;
+<tr><!-- beh, isolated rather than medial -->
+ <td>&#x640;<span>&zwnj;</span>&#x0628;<span>&zwnj;</span>&#x640;
+ <td>&#x640;&#xFE8F;&#x640;
+<tr><!-- beh, initial rather than medial -->
+ <td>&#x640;<span>&zwnj;</span>&#x0628;&#x640;
+ <td>&#x640;&#xFE91;&#x640;
+<tr><!-- beh, isolated rather than final -->
+ <td>&#x640;<span>&zwnj;</span>&#x0628;
+ <td>&#x640;&#xFE8F;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-001.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-001.html
new file mode 100644
index 00000000000..eaf5c9d3381
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-001.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: tatweel and text-shaping</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-tatweel-001-ref.html">
+<meta name="assert" content="Arabic characters next to a U+0640 ARABIC TATWEEL character must take their correct positional form.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td>&#x640;&#x0627;&#x640;
+ <td>&#x640;&#xFE8E;&#x640;
+<tr><!-- alef, final form -->
+ <td>&#x640;&#x0627;
+ <td>&#x640;&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#x0628;&#x640;
+ <td>&#xFE91;&#x640;
+<tr><!-- beh, medial form -->
+ <td>&#x640;&#x0628;&#x640;
+ <td>&#x640;&#xFE92;&#x640;
+<tr><!-- beh, final form -->
+ <td>&#x640;&#x0628;
+ <td>&#x640;&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-002.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-002.html
new file mode 100644
index 00000000000..f6878efe70f
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-002.html
@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: tatweel and text-shaping, cross font, fallback</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-tatweel-002-ref.html">
+<meta name="assert" content="Arabic characters next to a U+0640 ARABIC TATWEEL character must take their correct positional form, even if the tatweel comes from a differnt font via font due to font fallback.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'primary';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ unicode-range: U+20;
+ }
+ @font-face {
+ font-family: 'tatweel';
+ src: url('/fonts/Scheherazade-Regular.woff') format('woff');
+ unicode-range: U+0640;
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ table {
+ /*using a primary font with just U+20 (space) to get the baseline right*/
+ font-family: 'primary', 'tatweel', 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td>&#x640;&#x0627;&#x640;
+ <td>&#x640;&#xFE8E;&#x640;
+<tr><!-- alef, final form -->
+ <td>&#x640;&#x0627;
+ <td>&#x640;&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#x0628;&#x640;
+ <td>&#xFE91;&#x640;
+<tr><!-- beh, medial form -->
+ <td>&#x640;&#x0628;&#x640;
+ <td>&#x640;&#xFE92;&#x640;
+<tr><!-- beh, final form -->
+ <td>&#x640;&#x0628;
+ <td>&#x640;&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-003.html b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-003.html
new file mode 100644
index 00000000000..7e7107bc739
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/text-encoding/shaping-tatweel-003.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>CSS Text level 3 Test: tatweel and text-shaping, cross font, explicit</title>
+<link rel="author" title="Florian Rivoal" href="https://florian.rivoal.net/">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#text-encoding">
+<link rel="help" href="https://www.unicode.org/versions/Unicode11.0.0/ch09.pdf">
+<link rel="help" href="https://www.w3.org/TR/alreq/#h_joining_enforcement">
+<link rel="match" href="reference/shaping-tatweel-002-ref.html">
+<meta name="assert" content="Arabic characters next to a U+0640 ARABIC TATWEEL character must take their correct positional form, even if the tatweel comes from a differnt font due to being in a different element with an explicit different font.">
+<style>
+ table {
+ font-size: 3em;
+ border-spacing: 0 3px;
+ }
+ td {
+ padding: 0 0.5ch;
+ line-height: 1;
+ border: 1px solid;
+ }
+ @font-face {
+ font-family: 'tatweel';
+ src: url('/fonts/Scheherazade-Regular.woff') format('woff');
+ }
+ @font-face {
+ font-family: 'csstest_noto';
+ src: url('/fonts/noto/NotoNaskhArabic-regular.woff2') format('woff2');
+ }
+ span {
+ font-family: 'tatweel';
+ line-height: 0;
+ }
+ table {
+ font-family: 'csstest_noto';
+ }
+</style>
+
+<p>Test passes if both halves of each of the pairs below are identical:
+
+<table dir=rtl lang=ar>
+<tr><!-- alef, final form as it doesn't have a medial form -->
+ <td><span>&#x640;</span>&#x0627;<span>&#x640;</span>
+ <td><span>&#x640;</span>&#xFE8E;<span>&#x640;</span>
+<tr><!-- alef, final form -->
+ <td><span>&#x640;</span>&#x0627;
+ <td><span>&#x640;</span>&#xFE8E;
+<tr><!-- beh, initial form -->
+ <td>&#x0628;<span>&#x640;</span>
+ <td>&#xFE91;<span>&#x640;</span>
+<tr><!-- beh, medial form -->
+ <td><span>&#x640;</span>&#x0628;<span>&#x640;</span>
+ <td><span>&#x640;</span>&#xFE92;<span>&#x640;</span>
+<tr><!-- beh, final form -->
+ <td><span>&#x640;</span>&#x0628;
+ <td><span>&#x640;</span>&#xFE90;
+</table>
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html
index c0101fd7dec..c7a8693fef1 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-003.html
@@ -13,7 +13,6 @@ between the last character of a word and the first space of a sequence of preser
if there are other wrapping opportunities earlier in the line.">
<style>
div {
- position: relative;
font: 25px/1 Ahem;
}
.fail {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-004.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-004.html
index 13770b7b8d1..75b9a0da4e6 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-004.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-004.html
@@ -11,7 +11,6 @@
<meta name="assert" content="The word is not broken if there are previous breaking opportunities, honoring the 'white-space: break-spaces' value.">
<style>
div {
- position: relative;
font: 20px/1 Ahem;
}
.fail {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-005.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-005.html
index c7f996fbc7b..89bf9cbd97d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-005.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-005.html
@@ -9,7 +9,6 @@
<meta name="assert" content="If 'white-space' is set to 'break-spaces', collapsing preserved white-spaces' advance width is not allowed, so that they can be wrapped honoring the 'white-space' propery.">
<style>
div {
- position: relative;
font: 10px/1 Ahem;
}
.fail {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-006.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-006.html
index f3973169303..b8d12a18440 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-006.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-006.html
@@ -11,7 +11,6 @@
<meta name="assert" content="White spaces are preserved, honoring the 'white-space: break-spaces', but the words are broken, honring the 'word-beak: break-all' even though there are previous breaking opportunities in the white-spaces.">
<style>
div {
- position: relative;
font: 25px/1 Ahem;
}
.fail {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-007.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-007.html
index d14aae72f51..c7242c27e5c 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-007.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-007.html
@@ -8,10 +8,9 @@
<link rel="help" href="https://drafts.csswg.org/css-text-3/#valdef-word-break-break-all">
<link rel="match" href="reference/white-space-break-spaces-005-ref.html">
<meta name="flags" content="ahem">
-<meta name="assert" content="A single leading white-space should be used, honoring white-space: break-spaces, to avoid overflow; however, a single preserved white-space at the end of the line cannot be wrapped, hence it hangs when breaking after it to move the rest of the text to the next line.">
+<meta name="assert" content="A single leading white-space should be used, honoring white-space: break-spaces, to avoid overflow; however, a single preserved white-space at the end of the line cannot be wrapped, hence it overflows when breaking after it to move the rest of the text to the next line.">
<style>
div {
- position: relative;
font: 25px/1 Ahem;
}
.fail {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html
index 7bcb9dd3375..4e6e9efa7e6 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-008.html
@@ -11,7 +11,6 @@
<meta name="assert" content="White spaces are preserved, honoring the 'white-space: break-spaces', which may lead to overfow. However, we can break before the first white-space after the word honoring the 'break-all' value.">
<style>
div {
- position: relative;
font: 25px/1 Ahem;
}
.fail {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-009.html b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-009.html
index 9ecaa919ddf..36aa9dafd6e 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-009.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/break-spaces-009.html
@@ -13,7 +13,6 @@ between the last character of a word and the first space of a sequence of preser
if there are no other wrapping opportunities earlier in the line">
<style>
div {
- position: relative;
font: 25px/1 Ahem;
}
.red {
@@ -27,7 +26,6 @@ div {
background: green;
color: red;
width: 4ch;
- z-index: -1;
white-space: break-spaces;
word-break: break-word;
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/control-chars-00C.html b/tests/wpt/web-platform-tests/css/css-text/white-space/control-chars-00C.html
new file mode 100644
index 00000000000..db20bc72056
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/control-chars-00C.html
@@ -0,0 +1,18 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>Control charcters must be visible: U+000C</title>
+<link rel=author title="Florian Rivoal" href="https://florian.rivoal.net">
+<link rel=help href="https://drafts.csswg.org/css-text-3/#white-space-processing">
+<link rel=mismatch href="reference/control-chars-000-ref.html">
+<meta name=flags content="">
+<meta name=assert content="U+000C, which is in the unicode category CC, must be visible">
+<style>
+div {
+ font-size: 4em;
+}
+div::after { content: "\000C" } /* Injecting via CSS, to avoid any mangling by the html parser */
+</style>
+
+<p>Test passes if there is a visible character below.
+
+<div></div>
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
index 1ddbb7fe356..7e4a24993f1 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-008.html
@@ -9,7 +9,6 @@
<meta name="assert" content="The word is not broken despite the 'word-break: break-word' if there are previous breaking opportunities, honoring the white-space: pre-wrap value.">
<style>
div {
- position: relative;
font-size: 20px;
font-family: Ahem;
}
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-015.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-015.html
index 176259b72ed..d3f51bc429d 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-015.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-015.html
@@ -9,7 +9,6 @@
<meta name="assert" content="The text is broken at the end of the space between the two words, never before, so it hangs and cause an overflow">
<style>
div {
- position: relative;
font: 20px/1 Ahem;
}
.ref {
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-016.html b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-016.html
index e88c3eda199..18dd834d813 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-016.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/pre-wrap-016.html
@@ -9,7 +9,6 @@
<meta name="assert" content="The word is not broken if there are previous breaking opportunities, honoring the white-space: pre-wrap value.">
<style>
div {
- position: relative;
font-size: 20px;
font-family: Ahem;
line-height: 1em;
diff --git a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html
index 3247ae5a881..dece5f73944 100644
--- a/tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html
+++ b/tests/wpt/web-platform-tests/css/css-text/white-space/reference/white-space-break-spaces-005-ref.html
@@ -4,7 +4,6 @@
<link rel="author" title="Javier Fernandez" href="mailto:jfernandez@igalia.com" />
<style>
div {
- position: relative;
width: 100px;
height: 100px;
background: green;
diff --git a/tests/wpt/web-platform-tests/domxpath/fn-lang.html b/tests/wpt/web-platform-tests/domxpath/fn-lang.html
new file mode 100644
index 00000000000..c7c102945d0
--- /dev/null
+++ b/tests/wpt/web-platform-tests/domxpath/fn-lang.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<link rel="help" href="https://www.w3.org/TR/1999/REC-xpath-19991116/#function-lang">
+<link rel="help" href="https://www.w3.org/TR/xpath-functions-31/#func-lang">
+<body>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+// Set the context node to the first child of the root element, and evaluate
+// the specified XPath expression. The test passes if
+// - The first child element name is 'match' and XPath result is true, or
+// - The first child element name is not 'match' and XPath result is false.
+function testFirstChild(expression, xmlString) {
+ let doc = (new DOMParser()).parseFromString(xmlString, 'text/xml');
+ test(() => {
+ let element = doc.documentElement.firstChild;
+ let result = doc.evaluate(expression, element, null, XPathResult.BOOLEAN_TYPE, null);
+ assert_equals(result.resultType, XPathResult.BOOLEAN_TYPE);
+ assert_equals(result.booleanValue, element.localName == 'match', element.outerHTML);
+ }, `${expression}: ${doc.documentElement.outerHTML}`);
+}
+
+testFirstChild('lang("en")', '<root><match xml:lang="en"/></root>');
+testFirstChild('lang("en")', '<root><match xml:lang="EN"/></root>');
+testFirstChild('lang("en")', '<root><match xml:lang="en-us"/></root>');
+testFirstChild('lang("en")', '<root><unmatch/></root>');
+
+// XPath 1.0 says:
+// if the context node has no xml:lang attribute, by the value of the
+// xml:lang attribute on the nearest ancestor of the context node that has
+// an xml:lang attribute.
+testFirstChild('lang("ja")', '<root xml:lang="ja"><match/></root>');
+
+// XPath 1.0 says:
+// if there is some suffix starting with - such that the attribute value is
+// equal to the argument ignoring that suffix of the attribute value
+testFirstChild('lang("ja")', '<root xml:lang="ja-jp"><unmatch xml:lang="ja_JP"/></root>');
+
+// U+212A should match to ASCII 'k'.
+// XPath 1.0 says:
+// ... such that the attribute value is equal to the argument ignoring that suffix
+// of the attribute value and ignoring case.
+// XPath 3.1 says:
+// ... true if and only if, based on a caseless default match as specified in
+// section 3.13 of The Unicode Standard,
+testFirstChild('lang("ko")', '<root><match xml:lang="&#x212A;o"/></root>');
+</script>
+</body>
diff --git a/tests/wpt/web-platform-tests/fonts/Scheherazade-Regular.woff b/tests/wpt/web-platform-tests/fonts/Scheherazade-Regular.woff
new file mode 100755
index 00000000000..04d93fa4620
--- /dev/null
+++ b/tests/wpt/web-platform-tests/fonts/Scheherazade-Regular.woff
Binary files differ
diff --git a/tests/wpt/web-platform-tests/fonts/noto/noto-sans-v8-latin-regular.woff b/tests/wpt/web-platform-tests/fonts/noto/noto-sans-v8-latin-regular.woff
new file mode 100644
index 00000000000..4f1dd100c09
--- /dev/null
+++ b/tests/wpt/web-platform-tests/fonts/noto/noto-sans-v8-latin-regular.woff
Binary files differ
diff --git a/tests/wpt/web-platform-tests/lint.whitelist b/tests/wpt/web-platform-tests/lint.whitelist
index f354fd95df3..27f70db20fe 100644
--- a/tests/wpt/web-platform-tests/lint.whitelist
+++ b/tests/wpt/web-platform-tests/lint.whitelist
@@ -185,6 +185,7 @@ SET TIMEOUT: offscreen-canvas/the-offscreen-canvas/*
SET TIMEOUT: old-tests/submission/Microsoft/history/history_000.htm
SET TIMEOUT: paint-timing/resources/subframe-painting.html
SET TIMEOUT: payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
+SET TIMEOUT: portals/resources/portals-adopt-predecessor-portal.html
SET TIMEOUT: preload/single-download-preload.html
SET TIMEOUT: resize-observer/resources/iframe.html
SET TIMEOUT: resource-timing/resources/nested-contexts.js
diff --git a/tests/wpt/web-platform-tests/portals/portals-adopt-predecessor.html b/tests/wpt/web-platform-tests/portals/portals-adopt-predecessor.html
index 27e4052a67e..90da9186423 100644
--- a/tests/wpt/web-platform-tests/portals/portals-adopt-predecessor.html
+++ b/tests/wpt/web-platform-tests/portals/portals-adopt-predecessor.html
@@ -22,4 +22,14 @@
});
window.open(`resources/portals-adopt-predecessor.html?test=${test}`);
}, "Tests that trying to adopt the predecessor twice will throw an exception.");
+
+ async_test(function(t) {
+ var test = "adopt-after-event";
+ var bc = new BroadcastChannel(`test-${test}`);
+ bc.onmessage = t.step_func_done(function(e) {
+ assert_equals(e.data, "passed");
+ bc.close();
+ });
+ window.open(`resources/portals-adopt-predecessor.html?test=${test}`);
+ }, "Tests that trying to adopt the predecessor after the PortalActivateEvent will throw an exception.");
</script>
diff --git a/tests/wpt/web-platform-tests/portals/resources/portals-adopt-predecessor-portal.html b/tests/wpt/web-platform-tests/portals/resources/portals-adopt-predecessor-portal.html
index 14d1018b906..5181748d887 100644
--- a/tests/wpt/web-platform-tests/portals/resources/portals-adopt-predecessor-portal.html
+++ b/tests/wpt/web-platform-tests/portals/resources/portals-adopt-predecessor-portal.html
@@ -4,21 +4,41 @@
var test = searchParams.get("test");
window.onportalactivate = function(e) {
- var portal = e.adoptPredecessor();
- document.body.appendChild(portal);
-
if (test == "adopt-once") {
+ var portal = e.adoptPredecessor();
+ document.body.appendChild(portal);
+
if (portal instanceof HTMLPortalElement) {
portal.postMessage("adopted", "*");
}
}
if (test == "adopt-twice") {
+ var portal = e.adoptPredecessor();
+ document.body.appendChild(portal);
+
try {
e.adoptPredecessor();
} catch(e) {
- portal.postMessage("passed", "*");
+ if (e.name == "InvalidStateError") {
+ var bc_test = new BroadcastChannel(`test-${test}`);
+ bc_test.postMessage("passed");
+ bc_test.close();
+ }
}
}
+ if (test == "adopt-after-event") {
+ setTimeout(function() {
+ try {
+ e.adoptPredecessor();
+ } catch(e) {
+ if (e.name == "InvalidStateError") {
+ var bc_test = new BroadcastChannel(`test-${test}`);
+ bc_test.postMessage("passed");
+ bc_test.close();
+ }
+ }
+ });
+ }
}
var bc = new BroadcastChannel(`portal-${test}`);
diff --git a/tests/wpt/web-platform-tests/resources/testharness.js b/tests/wpt/web-platform-tests/resources/testharness.js
index cb341db2050..e57c06d775c 100644
--- a/tests/wpt/web-platform-tests/resources/testharness.js
+++ b/tests/wpt/web-platform-tests/resources/testharness.js
@@ -1132,7 +1132,7 @@ policies and contribution forms [3].
assert(Math.abs(actual[i] - expected[i]) <= epsilon,
"assert_array_approx_equals", description,
"property ${i}, expected ${expected} +/- ${epsilon}, expected ${expected} but got ${actual}",
- {i:i, expected:expected[i], actual:actual[i]});
+ {i:i, expected:expected[i], actual:actual[i], epsilon:epsilon});
}
}
expose(assert_array_approx_equals, "assert_array_approx_equals");
diff --git a/tests/wpt/web-platform-tests/tools/wpt/browser.py b/tests/wpt/web-platform-tests/tools/wpt/browser.py
index d77b5f01dfa..3f578c09481 100644
--- a/tests/wpt/web-platform-tests/tools/wpt/browser.py
+++ b/tests/wpt/web-platform-tests/tools/wpt/browser.py
@@ -464,29 +464,31 @@ class Chrome(Browser):
def _latest_chromedriver_url(self, browser_binary=None):
latest = None
chrome_version = self.version(browser_binary)
- if chrome_version is not None:
- parts = chrome_version.split(".")
- if len(parts) == 4:
- latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s.%s.%s" % (
- parts[0], parts[1], parts[2])
+ assert chrome_version, "Cannot detect the version of Chrome"
+
+ # Remove channel suffixes (e.g. " dev").
+ chrome_version = chrome_version.split(' ')[0]
+ parts = chrome_version.split(".")
+ if len(parts) == 4:
+ latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s.%s.%s" % tuple(parts[:-1])
+ try:
+ latest = get(latest_url).text.strip()
+ except requests.RequestException:
+ latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s" % parts[0]
try:
latest = get(latest_url).text.strip()
except requests.RequestException:
- latest_url = "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_%s" % parts[0]
- try:
- latest = get(latest_url).text.strip()
- except requests.RequestException:
- pass
+ pass
if latest is None:
- # Fall back to the tip-of-tree *Chromium* build.
- latest_url = "https://storage.googleapis.com/chromium-browser-snapshots/%s/LAST_CHANGE" % (
- self.chromium_platform_string())
- latest = get(latest_url).text.strip()
+ # Fall back to *Chromium* build archives.
+ omaha = get("https://omahaproxy.appspot.com/deps.json?version=" + chrome_version).json()
+ revision = omaha['chromium_base_position']
url = "https://storage.googleapis.com/chromium-browser-snapshots/%s/%s/chromedriver_%s.zip" % (
- self.chromium_platform_string(), latest, self.platform_string())
+ self.chromium_platform_string(), revision, self.platform_string())
else:
url = "https://chromedriver.storage.googleapis.com/%s/chromedriver_%s.zip" % (
latest, self.platform_string())
+
return url
def install_webdriver(self, dest=None, channel=None, browser_binary=None):
diff --git a/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/adding-events.html b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/adding-events.html
new file mode 100644
index 00000000000..ab527b6695c
--- /dev/null
+++ b/tests/wpt/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/adding-events.html
@@ -0,0 +1,144 @@
+<!doctype html>
+<html>
+ <head>
+ <title>Adding Events</title>
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ <script src="/webaudio/resources/audit-util.js"></script>
+ <script src="/webaudio/resources/audit.js"></script>
+ <script src="/webaudio/resources/audio-param.js"></script>
+ </head>
+
+ <body>
+ <script>
+ let audit = Audit.createTaskRunner();
+
+ // Arbitrary power of two to eliminate round-off in computing time from
+ // frame.
+ const sampleRate = 8192;
+
+ audit.define(
+ {
+ label: 'linearRamp',
+ description: 'Insert linearRamp after running for some time'
+ },
+ (task, should) => {
+ testInsertion(should, {
+ method: 'linearRampToValueAtTime',
+ prefix: 'linearRamp'
+ }).then(() => task.done());
+ });
+
+ audit.define(
+ {
+ label: 'expoRamp',
+ description: 'Insert expoRamp after running for some time'
+ },
+ (task, should) => {
+ testInsertion(should, {
+ method: 'exponentialRampToValueAtTime',
+ prefix: 'expoRamp'
+ }).then(() => task.done());
+ });
+
+ // Test insertion of an event in the middle of rendering.
+ //
+ // options dictionary:
+ // method - automation method to test
+ // prefix - string to use for prefixing messages
+ function testInsertion(should, options) {
+ let {method, prefix} = options;
+
+ // Channel 0 is the output for the test, and channel 1 is the
+ // reference output.
+ let context = new OfflineAudioContext(
+ {numberOfChannels: 2, length: sampleRate, sampleRate: sampleRate});
+ let merger = new ChannelMergerNode(
+ context, {numberOfChannels: context.destination.channelCount});
+
+ merger.connect(context.destination);
+
+ // Initial value and final values of the source node
+ let initialValue = 1;
+ let finalValue = 2;
+
+ // Set up the node for the automations under test
+ let src = new ConstantSourceNode(context, {offset: initialValue});
+ src.connect(merger, 0, 0);
+
+ // Set initial event to occur at this time. Keep it in the first
+ // render quantum.
+ const initialEventTime = 64 / context.sampleRate;
+ should(
+ () => src.offset.setValueAtTime(initialValue, initialEventTime),
+ `${prefix}: setValueAtTime(${initialValue}, ${initialEventTime})`)
+ .notThrow();
+
+ // Let time pass and then add a new event with time in the future.
+ let insertAtFrame = 512;
+ let insertTime = insertAtFrame / context.sampleRate;
+ let automationEndFrame = 1024 + 64;
+ let automationEndTime = automationEndFrame / context.sampleRate;
+ context.suspend(insertTime)
+ .then(() => {
+ should(
+ () => src.offset[method](finalValue, automationEndTime),
+ `${prefix}: At time ${insertTime} scheduling ${method}(${
+ finalValue}, ${automationEndTime})`)
+ .notThrow();
+ })
+ .then(() => context.resume());
+
+ // Set up graph for the reference result. Automate the source with
+ // the events scheduled from the beginning. Let the gain node
+ // simulate the insertion of the event above. This is done by
+ // setting the gain to 1 at the insertion time.
+ let srcRef = new ConstantSourceNode(context, {offset: 1});
+ let g = new GainNode(context, {gain: 0});
+ srcRef.connect(g).connect(merger, 0, 1);
+ srcRef.offset.setValueAtTime(initialValue, initialEventTime);
+ srcRef.offset[method](finalValue, automationEndTime);
+
+ // Allow everything through after |insertFrame| frames.
+ g.gain.setValueAtTime(1, insertTime);
+
+ // Go!
+ src.start();
+ srcRef.start();
+
+ return context.startRendering().then(audioBuffer => {
+ let actual = audioBuffer.getChannelData(0);
+ let expected = audioBuffer.getChannelData(1);
+
+ // Verify that the output is 1 until we reach
+ // insertAtFrame. Ignore the expected data because that always
+ // produces 1.
+ should(
+ actual.slice(0, insertAtFrame),
+ `${prefix}: output[0:${insertAtFrame - 1}]`)
+ .beConstantValueOf(initialValue);
+
+ // Verify ramp is correct by comparing it to the expected
+ // data.
+ should(
+ actual.slice(
+ insertAtFrame, automationEndFrame - insertAtFrame + 1),
+ `${prefix}: output[${insertAtFrame}:${
+ automationEndFrame - insertAtFrame}]`)
+ .beCloseToArray(
+ expected.slice(
+ insertAtFrame, automationEndFrame - insertAtFrame + 1),
+ {absoluteThreshold: 0, numberOfArrayElements: 0});
+
+ // Verify final output has the expected value
+ should(
+ actual.slice(automationEndFrame),
+ `${prefix}: output[${automationEndFrame}:]`)
+ .beConstantValueOf(finalValue);
+ })
+ }
+
+ audit.run();
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py
index 6719272c3f1..49468a73aed 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer.py
@@ -85,8 +85,8 @@ def test_click_element_center(session, test_actions_page, mouse_chain):
assert ["mousemove", "mousedown", "mouseup", "click"] == event_types
for e in events:
if e["type"] != "mousemove":
- assert pytest.approx(e["pageX"], center["x"])
- assert pytest.approx(e["pageY"], center["y"])
+ assert e["pageX"] == pytest.approx(center["x"], abs = 1.0)
+ assert e["pageY"] == pytest.approx(center["y"], abs = 1.0)
assert e["target"] == "outer"
@@ -135,8 +135,8 @@ def test_drag_and_drop(session,
# mouseup that ends the drag is at the expected destination
e = get_events(session)[1]
assert e["type"] == "mouseup"
- assert pytest.approx(e["pageX"], initial_center["x"] + dx)
- assert pytest.approx(e["pageY"], initial_center["y"] + dy)
+ assert e["pageX"] == pytest.approx(initial_center["x"] + dx, abs = 1.0)
+ assert e["pageY"] == pytest.approx(initial_center["y"] + dy, abs = 1.0)
# check resulting location of the dragged element
final_rect = drag_target.rect
assert initial_rect["x"] + dx == final_rect["x"]
diff --git a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer_origin.py b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer_origin.py
index 3ebf14c348c..4c9dc879e99 100644
--- a/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer_origin.py
+++ b/tests/wpt/web-platform-tests/webdriver/tests/perform_actions/pointer_origin.py
@@ -28,8 +28,8 @@ def test_viewport_inside(session, mouse_chain):
.perform()
click_coords = session.execute_script("return window.coords;")
- assert pytest.approx(click_coords["x"], point["x"])
- assert pytest.approx(click_coords["y"], point["y"])
+ assert click_coords["x"] == pytest.approx(point["x"], abs = 1.0)
+ assert click_coords["y"] == pytest.approx(point["y"], abs = 1.0)
def test_viewport_outside(session, mouse_chain):
@@ -50,8 +50,8 @@ def test_pointer_inside(session, mouse_chain):
.perform()
click_coords = session.execute_script("return window.coords;")
- assert pytest.approx(click_coords["x"], start_point["x"] + offset["x"])
- assert pytest.approx(click_coords["y"], start_point["y"] + offset["y"])
+ assert click_coords["x"] == pytest.approx(start_point["x"] + offset["x"], abs = 1.0)
+ assert click_coords["y"] == pytest.approx(start_point["y"] + offset["y"], abs = 1.0)
def test_pointer_outside(session, mouse_chain):
@@ -71,8 +71,8 @@ def test_element_center_point(session, mouse_chain):
.perform()
click_coords = get_click_coordinates(session)
- assert pytest.approx(click_coords["x"], center["x"])
- assert pytest.approx(click_coords["y"], center["y"])
+ assert click_coords["x"] == pytest.approx(center["x"], abs = 1.0)
+ assert click_coords["y"] == pytest.approx(center["y"], abs = 1.0)
def test_element_center_point_with_offset(session, mouse_chain):
@@ -85,8 +85,8 @@ def test_element_center_point_with_offset(session, mouse_chain):
.perform()
click_coords = get_click_coordinates(session)
- assert pytest.approx(click_coords["x"], center["x"] + 10)
- assert pytest.approx(click_coords["y"], center["y"] + 15)
+ assert click_coords["x"] == pytest.approx(center["x"] + 10, abs = 1.0)
+ assert click_coords["y"] == pytest.approx(center["y"] + 15, abs = 1.0)
def test_element_in_view_center_point_partly_visible(session, mouse_chain):
@@ -100,8 +100,8 @@ def test_element_in_view_center_point_partly_visible(session, mouse_chain):
.perform()
click_coords = get_click_coordinates(session)
- assert pytest.approx(click_coords["x"], center["x"])
- assert pytest.approx(click_coords["y"], center["y"])
+ assert click_coords["x"] == pytest.approx(center["x"], abs = 1.0)
+ assert click_coords["y"] == pytest.approx(center["y"], abs = 1.0)
def test_element_larger_than_viewport(session, mouse_chain):
@@ -114,8 +114,8 @@ def test_element_larger_than_viewport(session, mouse_chain):
.perform()
click_coords = get_click_coordinates(session)
- assert pytest.approx(click_coords["x"], center["x"])
- assert pytest.approx(click_coords["y"], center["y"])
+ assert click_coords["x"] == pytest.approx(center["x"], abs = 1.0)
+ assert click_coords["y"] == pytest.approx(center["y"], abs = 1.0)
def test_element_outside_of_view_port(session, mouse_chain):
diff --git a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html
index 768da23ddbf..1bb07935cc7 100644
--- a/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html
+++ b/tests/wpt/web-platform-tests/webrtc/RTCPeerConnection-iceConnectionState.https.html
@@ -160,13 +160,14 @@ async_test(t => {
assert_equals(iceTransport.state, 'connected',
'Expect ICE transport to be in connected state when' +
' iceConnectionState is connected');
-
+ t.done();
} else if(iceConnectionState === 'completed') {
const iceTransport = pc1.sctp.transport.iceTransport;
assert_equals(iceTransport.state, 'completed',
'Expect ICE transport to be in connected state when' +
' iceConnectionState is completed');
+ t.done();
}
});