aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWPT Sync Bot <josh+wptsync@joshmatthews.net>2019-01-15 20:35:30 -0500
committerWPT Sync Bot <josh+wptsync@joshmatthews.net>2019-01-15 22:08:50 -0500
commit372e03fe64a392ef1d108cde1f8f3a4ebac5561f (patch)
treebe45a4fb1339f808680f909b93cd428e127841d1
parent96ad6710b130366f5e30cab4415e61750b2a309b (diff)
downloadservo-372e03fe64a392ef1d108cde1f8f3a4ebac5561f.tar.gz
servo-372e03fe64a392ef1d108cde1f8f3a4ebac5561f.zip
Update web-platform-tests to revision 0f31ab1b094596062154092307bb9ff8e6122533
-rw-r--r--tests/wpt/metadata/MANIFEST.json106
-rw-r--r--tests/wpt/metadata/css/css-flexbox/flex-basis-009.html.ini4
-rw-r--r--tests/wpt/metadata/css/mediaqueries/prefers-color-scheme.html.ini27
-rw-r--r--tests/wpt/metadata/css/mediaqueries/prefers-reduced-motion.html.ini22
-rw-r--r--tests/wpt/metadata/dom/interfaces.html.ini424
-rw-r--r--tests/wpt/metadata/encoding/single-byte-decoder.html.ini4
-rw-r--r--tests/wpt/metadata/fetch/api/idl.any.js.ini60
-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_5.html.ini (renamed from tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini)2
-rw-r--r--tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini17
-rw-r--r--tests/wpt/metadata/performance-timeline/idlharness.any.js.ini6
-rw-r--r--tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini3
-rw-r--r--tests/wpt/metadata/url/idlharness.any.js.ini7
-rw-r--r--tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini1
-rw-r--r--tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini1
-rw-r--r--tests/wpt/metadata/xhr/idlharness.any.js.ini6
-rw-r--r--tests/wpt/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html24
-rw-r--r--tests/wpt/web-platform-tests/clipboard-apis/async-write-image-read-image-manual.https.html57
-rw-r--r--tests/wpt/web-platform-tests/clipboard-apis/resources/greenbox.pngbin0 -> 95 bytes
-rw-r--r--tests/wpt/web-platform-tests/css/css-flexbox/flex-basis-009.html42
-rw-r--r--tests/wpt/web-platform-tests/css/mediaqueries/prefers-color-scheme.html66
-rw-r--r--tests/wpt/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html38
-rw-r--r--tests/wpt/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js49
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html5
-rw-r--r--tests/wpt/web-platform-tests/interfaces/dom.idl10
-rw-r--r--tests/wpt/web-platform-tests/interfaces/user-timing.idl3
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html66
-rw-r--r--tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html65
-rw-r--r--tests/wpt/web-platform-tests/portals/portals-rendering.html16
-rw-r--r--tests/wpt/web-platform-tests/portals/references/portals-rendering.html5
-rw-r--r--tests/wpt/web-platform-tests/portals/resources/portals-rendering-portal.html10
-rw-r--r--tests/wpt/web-platform-tests/resources/idlharness.js66
32 files changed, 993 insertions, 223 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 4b9673764c0..38a655726e3 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -1231,6 +1231,12 @@
{}
]
],
+ "clipboard-apis/async-write-image-read-image-manual.https.html": [
+ [
+ "/clipboard-apis/async-write-image-read-image-manual.https.html",
+ {}
+ ]
+ ],
"clipboard-apis/async-write-text-read-dttext-manual.https.html": [
[
"/clipboard-apis/async-write-text-read-dttext-manual.https.html",
@@ -193627,6 +193633,18 @@
{}
]
],
+ "portals/portals-rendering.html": [
+ [
+ "/portals/portals-rendering.html",
+ [
+ [
+ "/portals/references/portals-rendering.html",
+ "=="
+ ]
+ ],
+ {}
+ ]
+ ],
"quirks/historical/list-item-bullet-size.html": [
[
"/quirks/historical/list-item-bullet-size.html",
@@ -204632,6 +204650,11 @@
{}
]
],
+ "clipboard-apis/resources/greenbox.png": [
+ [
+ {}
+ ]
+ ],
"common/META.yml": [
[
{}
@@ -279627,6 +279650,11 @@
{}
]
],
+ "css/mediaqueries/resources/matchmedia-utils.js": [
+ [
+ {}
+ ]
+ ],
"css/mediaqueries/support/media_queries_iframe.html": [
[
{}
@@ -303787,6 +303815,11 @@
{}
]
],
+ "portals/references/portals-rendering.html": [
+ [
+ {}
+ ]
+ ],
"portals/resources/portal-activate-event-portal.html": [
[
{}
@@ -303797,6 +303830,11 @@
{}
]
],
+ "portals/resources/portals-rendering-portal.html": [
+ [
+ {}
+ ]
+ ],
"portals/resources/postmessage-referrer.sub.html": [
[
{}
@@ -341866,6 +341904,12 @@
{}
]
],
+ "css/css-flexbox/flex-basis-009.html": [
+ [
+ "/css/css-flexbox/flex-basis-009.html",
+ {}
+ ]
+ ],
"css/css-flexbox/flex-minimum-height-flex-items-009.html": [
[
"/css/css-flexbox/flex-minimum-height-flex-items-009.html",
@@ -353170,6 +353214,12 @@
{}
]
],
+ "css/mediaqueries/prefers-reduced-motion.html": [
+ [
+ "/css/mediaqueries/prefers-reduced-motion.html",
+ {}
+ ]
+ ],
"css/mediaqueries/test_media_queries.html": [
[
"/css/mediaqueries/test_media_queries.html",
@@ -383362,6 +383412,12 @@
{}
]
],
+ "mediacapture-record/MediaRecorder-pause-resume.html": [
+ [
+ "/mediacapture-record/MediaRecorder-pause-resume.html",
+ {}
+ ]
+ ],
"mediacapture-record/MediaRecorder-stop.html": [
[
"/mediacapture-record/MediaRecorder-stop.html",
@@ -456736,7 +456792,7 @@
"testharness"
],
"clipboard-apis/async-navigator-clipboard-basics.https.html": [
- "11ed88c3fa2172c2ca0e635cb7f263f99388ca3a",
+ "ea0ca2902c5ab4643a1d72f554ce21ef1780a4ad",
"testharness"
],
"clipboard-apis/async-write-dttext-read-dttext-manual.https.html": [
@@ -456747,6 +456803,10 @@
"1b178696f17ca0bc1bac0b7e1c285ae8d52d5360",
"manual"
],
+ "clipboard-apis/async-write-image-read-image-manual.https.html": [
+ "ac7fb0863e75a1a33451033db054d2bf812d8450",
+ "manual"
+ ],
"clipboard-apis/async-write-text-read-dttext-manual.https.html": [
"9f524b93d719b7b94cfcede77948d507bc0d4b57",
"manual"
@@ -456771,6 +456831,10 @@
"4131a41bff6fd6bf5fb22fa805aea219ec7f72aa",
"manual"
],
+ "clipboard-apis/resources/greenbox.png": [
+ "6e555e3b197ce2f448f59d61e1488a0175490145",
+ "support"
+ ],
"common/META.yml": [
"594c8b170f5043a944fdd4de17d4bd65eba242fb",
"support"
@@ -548783,6 +548847,10 @@
"e454f199ef4387e550908d1d7739720530dd3afa",
"reftest"
],
+ "css/css-flexbox/flex-basis-009.html": [
+ "3e2026958fdd899349126ebe4778fb62a692d631",
+ "testharness"
+ ],
"css/css-flexbox/flex-box-wrap.html": [
"2a1ab9c00cda7b78026eb04e31894bda43392a5d",
"reftest"
@@ -597016,7 +597084,11 @@
"reftest"
],
"css/mediaqueries/prefers-color-scheme.html": [
- "705a7ca47f87692e0b888cf4cdcd4523304395c9",
+ "c6ca45ab17201466e01006cab78331a0765cc6c8",
+ "testharness"
+ ],
+ "css/mediaqueries/prefers-reduced-motion.html": [
+ "2d9f88474598bcaa0c988639473821171f08b094",
"testharness"
],
"css/mediaqueries/reference/ref-green-body.xht": [
@@ -597039,6 +597111,10 @@
"b0f3765358d98906ce8e7cbbdf9743d357e7f2f9",
"reftest"
],
+ "css/mediaqueries/resources/matchmedia-utils.js": [
+ "544f68c0400e4966c9124a9f481c6e12bf985f36",
+ "support"
+ ],
"css/mediaqueries/support/media_queries_iframe.html": [
"890eb6c46113afbaf1dc88188c52a791623590a8",
"support"
@@ -629872,7 +629948,7 @@
"support"
],
"html/semantics/embedded-content/the-img-element/Image-constructor.html": [
- "aa838ec8774e2bcaac360bf8ed929e0facc7fa3e",
+ "38b6765bb4984255aaf1bd039b9a9262e85728bc",
"testharness"
],
"html/semantics/embedded-content/the-img-element/adoption.html": [
@@ -636932,7 +637008,7 @@
"support"
],
"interfaces/dom.idl": [
- "503c391102a23db22ae0042c299b23702c004458",
+ "1788faae5207bb7a21b23771bf2b0e978ea49a69",
"support"
],
"interfaces/encoding.idl": [
@@ -637220,7 +637296,7 @@
"support"
],
"interfaces/user-timing.idl": [
- "723b063156a07aa7524f3dab1496b46e51b1e9f8",
+ "da8a0acd6738745fc2a724213e404c2f364329de",
"support"
],
"interfaces/vibration.idl": [
@@ -639011,8 +639087,12 @@
"58b9c08ecab0ff8872748f5215743379876ea5ef",
"testharness"
],
+ "mediacapture-record/MediaRecorder-pause-resume.html": [
+ "39a8883664550af1a48ae965d4789a0d6df97d28",
+ "testharness"
+ ],
"mediacapture-record/MediaRecorder-stop.html": [
- "8e05fc5491d8da7aaddefea20fae36d705c75bce",
+ "5dd9aa637305f1ac65208b0e5f956831b8c22cb4",
"testharness"
],
"mediacapture-record/idlharness.window.js": [
@@ -650167,6 +650247,14 @@
"0386272f441a0c2e19452821968a624d3ab16700",
"testharness"
],
+ "portals/portals-rendering.html": [
+ "8683a38326d96f5e180d3a2042aba652b8c0fa03",
+ "reftest"
+ ],
+ "portals/references/portals-rendering.html": [
+ "4a8414ab5656593811772c3728e4ee83eb034457",
+ "support"
+ ],
"portals/resources/portal-activate-event-portal.html": [
"d0eebcd12e65193024f6444af922b7503e76d8ec",
"support"
@@ -650175,6 +650263,10 @@
"1994dc3fad11e8b3ad9e8dc71f4aa96f06baa389",
"support"
],
+ "portals/resources/portals-rendering-portal.html": [
+ "1b6f23f512da5bb7d1c7b5b85e48277470d2e146",
+ "support"
+ ],
"portals/resources/postmessage-referrer.sub.html": [
"6897ab0801d8d0408913a5a44c03a022c983121e",
"support"
@@ -660380,7 +660472,7 @@
"support"
],
"resources/idlharness.js": [
- "926a615e59c9cd6f602c6e700494d1600ac6d0a5",
+ "8b7a1e2d98ea3167793f6996d56211ebb2cf0f41",
"support"
],
"resources/idlharness.js.headers": [
diff --git a/tests/wpt/metadata/css/css-flexbox/flex-basis-009.html.ini b/tests/wpt/metadata/css/css-flexbox/flex-basis-009.html.ini
new file mode 100644
index 00000000000..2145b043969
--- /dev/null
+++ b/tests/wpt/metadata/css/css-flexbox/flex-basis-009.html.ini
@@ -0,0 +1,4 @@
+[flex-basis-009.html]
+ [#flexbox 1]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/mediaqueries/prefers-color-scheme.html.ini b/tests/wpt/metadata/css/mediaqueries/prefers-color-scheme.html.ini
index bb52daa7836..8c545cb7ac2 100644
--- a/tests/wpt/metadata/css/mediaqueries/prefers-color-scheme.html.ini
+++ b/tests/wpt/metadata/css/mediaqueries/prefers-color-scheme.html.ini
@@ -2,3 +2,30 @@
[prefers-color-scheme]
expected: FAIL
+ [Should be parseable in JS: '(prefers-color-scheme: dark)']
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-color-scheme: light)']
+ expected: FAIL
+
+ [Check that no-preference evaluates to false in the boolean context]
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-color-scheme)']
+ expected: FAIL
+
+ [Should be parseable in JS: '(prefers-color-scheme: no-preference)']
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-color-scheme: dark)']
+ expected: FAIL
+
+ [Should be parseable in JS: '(prefers-color-scheme)']
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-color-scheme: no-preference)']
+ expected: FAIL
+
+ [Should be parseable in JS: '(prefers-color-scheme: light)']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/css/mediaqueries/prefers-reduced-motion.html.ini b/tests/wpt/metadata/css/mediaqueries/prefers-reduced-motion.html.ini
new file mode 100644
index 00000000000..3761c50b9bc
--- /dev/null
+++ b/tests/wpt/metadata/css/mediaqueries/prefers-reduced-motion.html.ini
@@ -0,0 +1,22 @@
+[prefers-reduced-motion.html]
+ [Should be parseable in JS: '(prefers-reduced-motion: reduce)']
+ expected: FAIL
+
+ [Check that no-preference evaluates to false in the boolean context]
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-reduced-motion)']
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-reduced-motion: no-preference)']
+ expected: FAIL
+
+ [Should be parseable in JS: '(prefers-reduced-motion)']
+ expected: FAIL
+
+ [Should be parseable in a CSS stylesheet: '(prefers-reduced-motion: reduce)']
+ expected: FAIL
+
+ [Should be parseable in JS: '(prefers-reduced-motion: no-preference)']
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/dom/interfaces.html.ini b/tests/wpt/metadata/dom/interfaces.html.ini
index 7d5a55318d5..b94d68781c3 100644
--- a/tests/wpt/metadata/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/dom/interfaces.html.ini
@@ -868,323 +868,487 @@
[Event interface: attribute srcElement]
expected: FAIL
+
[Event interface: operation composedPath()]
expected: FAIL
+
[Event interface: attribute returnValue]
expected: FAIL
+
[Event interface: attribute composed]
expected: FAIL
+
[Event interface: operation initEvent(DOMString, boolean, boolean)]
expected: FAIL
+
[Event interface: document.createEvent("Event") must inherit property "srcElement" with the proper type]
expected: FAIL
+
[Event interface: document.createEvent("Event") must inherit property "composedPath()" with the proper type]
expected: FAIL
+
[Event interface: document.createEvent("Event") must inherit property "returnValue" with the proper type]
expected: FAIL
+
[Event interface: document.createEvent("Event") must inherit property "composed" with the proper type]
expected: FAIL
+
[Event interface: new Event("foo") must inherit property "srcElement" with the proper type]
expected: FAIL
+
[Event interface: new Event("foo") must inherit property "composedPath()" with the proper type]
expected: FAIL
+
[Event interface: new Event("foo") must inherit property "returnValue" with the proper type]
expected: FAIL
+
[Event interface: new Event("foo") must inherit property "composed" with the proper type]
expected: FAIL
+
[CustomEvent interface: operation initCustomEvent(DOMString, boolean, boolean, any)]
expected: FAIL
+
[Event interface: new CustomEvent("foo") must inherit property "srcElement" with the proper type]
expected: FAIL
+
[Event interface: new CustomEvent("foo") must inherit property "composedPath()" with the proper type]
expected: FAIL
+
[Event interface: new CustomEvent("foo") must inherit property "returnValue" with the proper type]
expected: FAIL
+
[Event interface: new CustomEvent("foo") must inherit property "composed" with the proper type]
expected: FAIL
+
[AbortController interface: existence and properties of interface object]
expected: FAIL
+
[AbortController interface object length]
expected: FAIL
+
[AbortController interface object name]
expected: FAIL
+
[AbortController interface: existence and properties of interface prototype object]
expected: FAIL
+
[AbortController interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
+
[AbortController interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[AbortController interface: attribute signal]
expected: FAIL
+
[AbortController interface: operation abort()]
expected: FAIL
+
[AbortController must be primary interface of new AbortController()]
expected: FAIL
+
[Stringification of new AbortController()]
expected: FAIL
+
[AbortController interface: new AbortController() must inherit property "signal" with the proper type]
expected: FAIL
+
[AbortController interface: new AbortController() must inherit property "abort()" with the proper type]
expected: FAIL
+
[AbortSignal interface: existence and properties of interface object]
expected: FAIL
+
[AbortSignal interface object length]
expected: FAIL
+
[AbortSignal interface object name]
expected: FAIL
+
[AbortSignal interface: existence and properties of interface prototype object]
expected: FAIL
+
[AbortSignal interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
+
[AbortSignal interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[AbortSignal interface: attribute aborted]
expected: FAIL
+
[AbortSignal interface: attribute onabort]
expected: FAIL
+
[AbortSignal must be primary interface of new AbortController().signal]
expected: FAIL
+
[Stringification of new AbortController().signal]
expected: FAIL
+
[AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type]
expected: FAIL
+
[AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type]
expected: FAIL
- [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener, \[object Object\],\[object Object\])" with the proper type]
+
+ [EventTarget interface: new AbortController().signal must inherit property "addEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type]
expected: FAIL
- [EventTarget interface: calling addEventListener(DOMString, EventListener, \[object Object\],\[object Object\]) on new AbortController().signal with too few arguments must throw TypeError]
+
+ [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError]
expected: FAIL
- [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, \[object Object\],\[object Object\])" with the proper type]
+
+ [EventTarget interface: new AbortController().signal must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type]
expected: FAIL
- [EventTarget interface: calling removeEventListener(DOMString, EventListener, \[object Object\],\[object Object\]) on new AbortController().signal with too few arguments must throw TypeError]
+
+ [EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object\],[object Object\]) on new AbortController().signal with too few arguments must throw TypeError]
expected: FAIL
+
[EventTarget interface: new AbortController().signal must inherit property "dispatchEvent(Event)" with the proper type]
expected: FAIL
+
[EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError]
expected: FAIL
+
[Document interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[Document interface: attribute origin]
expected: FAIL
+
[Document interface: operation createCDATASection(DOMString)]
expected: FAIL
- [Unscopable handled correctly for prepend(\[object Object\],\[object Object\]) on Document]
+
+ [Unscopable handled correctly for prepend([object Object\],[object Object\]) on Document]
expected: FAIL
- [Unscopable handled correctly for append(\[object Object\],\[object Object\]) on Document]
+
+ [Unscopable handled correctly for append([object Object\],[object Object\]) on Document]
expected: FAIL
+
[Document interface: new Document() must inherit property "origin" with the proper type]
expected: FAIL
+
[Document interface: new Document() must inherit property "createCDATASection(DOMString)" with the proper type]
expected: FAIL
+
[Document interface: calling createCDATASection(DOMString) on new Document() with too few arguments must throw TypeError]
expected: FAIL
+
[Document interface: xmlDoc must inherit property "origin" with the proper type]
expected: FAIL
+
[Document interface: xmlDoc must inherit property "createCDATASection(DOMString)" with the proper type]
expected: FAIL
+
[Document interface: calling createCDATASection(DOMString) on xmlDoc with too few arguments must throw TypeError]
expected: FAIL
+
[DocumentType interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
- [Unscopable handled correctly for before(\[object Object\],\[object Object\]) on DocumentType]
+
+ [Unscopable handled correctly for before([object Object\],[object Object\]) on DocumentType]
expected: FAIL
- [Unscopable handled correctly for after(\[object Object\],\[object Object\]) on DocumentType]
+
+ [Unscopable handled correctly for after([object Object\],[object Object\]) on DocumentType]
expected: FAIL
- [Unscopable handled correctly for replaceWith(\[object Object\],\[object Object\]) on DocumentType]
+
+ [Unscopable handled correctly for replaceWith([object Object\],[object Object\]) on DocumentType]
expected: FAIL
+
[Unscopable handled correctly for remove() on DocumentType]
expected: FAIL
+
[DocumentFragment interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
- [Unscopable handled correctly for prepend(\[object Object\],\[object Object\]) on DocumentFragment]
+
+ [Unscopable handled correctly for prepend([object Object\],[object Object\]) on DocumentFragment]
expected: FAIL
- [Unscopable handled correctly for append(\[object Object\],\[object Object\]) on DocumentFragment]
+
+ [Unscopable handled correctly for append([object Object\],[object Object\]) on DocumentFragment]
expected: FAIL
+
[ShadowRoot interface: existence and properties of interface object]
expected: FAIL
+
[ShadowRoot interface object length]
expected: FAIL
+
[ShadowRoot interface object name]
expected: FAIL
+
[ShadowRoot interface: existence and properties of interface prototype object]
expected: FAIL
+
[ShadowRoot interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
+
[ShadowRoot interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[ShadowRoot interface: attribute mode]
expected: FAIL
+
[ShadowRoot interface: attribute host]
expected: FAIL
+
[Element interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[Element interface: attribute slot]
expected: FAIL
+
[Unscopable handled correctly for slot property on Element]
expected: FAIL
+
[Element interface: operation attachShadow(ShadowRootInit)]
expected: FAIL
+
[Element interface: attribute shadowRoot]
expected: FAIL
- [Unscopable handled correctly for prepend(\[object Object\],\[object Object\]) on Element]
+
+ [Unscopable handled correctly for prepend([object Object\],[object Object\]) on Element]
expected: FAIL
- [Unscopable handled correctly for append(\[object Object\],\[object Object\]) on Element]
+
+ [Unscopable handled correctly for append([object Object\],[object Object\]) on Element]
expected: FAIL
- [Unscopable handled correctly for before(\[object Object\],\[object Object\]) on Element]
+
+ [Unscopable handled correctly for before([object Object\],[object Object\]) on Element]
expected: FAIL
- [Unscopable handled correctly for after(\[object Object\],\[object Object\]) on Element]
+
+ [Unscopable handled correctly for after([object Object\],[object Object\]) on Element]
expected: FAIL
- [Unscopable handled correctly for replaceWith(\[object Object\],\[object Object\]) on Element]
+
+ [Unscopable handled correctly for replaceWith([object Object\],[object Object\]) on Element]
expected: FAIL
+
[Unscopable handled correctly for remove() on Element]
expected: FAIL
+
[Element interface: attribute assignedSlot]
expected: FAIL
+
[Element interface: element must inherit property "slot" with the proper type]
expected: FAIL
+
[Element interface: element must inherit property "attachShadow(ShadowRootInit)" with the proper type]
expected: FAIL
+
[Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError]
expected: FAIL
+
[Element interface: element must inherit property "shadowRoot" with the proper type]
expected: FAIL
+
[Element interface: element must inherit property "assignedSlot" with the proper type]
expected: FAIL
+
[Attr interface: existence and properties of interface object]
expected: FAIL
+
[Attr interface: existence and properties of interface prototype object]
expected: FAIL
- [EventTarget interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "addEventListener(DOMString, EventListener, \[object Object\],\[object Object\])" with the proper type]
+
+ [EventTarget interface: document.querySelector("[id\]").attributes[0\] must inherit property "addEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type]
expected: FAIL
- [EventTarget interface: calling addEventListener(DOMString, EventListener, \[object Object\],\[object Object\]) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [EventTarget interface: calling addEventListener(DOMString, EventListener, [object Object\],[object Object\]) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [EventTarget interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "removeEventListener(DOMString, EventListener, \[object Object\],\[object Object\])" with the proper type]
+
+ [EventTarget interface: document.querySelector("[id\]").attributes[0\] must inherit property "removeEventListener(DOMString, EventListener, [object Object\],[object Object\])" with the proper type]
expected: FAIL
- [EventTarget interface: calling removeEventListener(DOMString, EventListener, \[object Object\],\[object Object\]) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [EventTarget interface: calling removeEventListener(DOMString, EventListener, [object Object\],[object Object\]) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [EventTarget interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "dispatchEvent(Event)" with the proper type]
+
+ [EventTarget interface: document.querySelector("[id\]").attributes[0\] must inherit property "dispatchEvent(Event)" with the proper type]
expected: FAIL
- [EventTarget interface: calling dispatchEvent(Event) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [EventTarget interface: calling dispatchEvent(Event) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
+
[CharacterData interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
- [Unscopable handled correctly for before(\[object Object\],\[object Object\]) on CharacterData]
+
+ [Unscopable handled correctly for before([object Object\],[object Object\]) on CharacterData]
expected: FAIL
- [Unscopable handled correctly for after(\[object Object\],\[object Object\]) on CharacterData]
+
+ [Unscopable handled correctly for after([object Object\],[object Object\]) on CharacterData]
expected: FAIL
- [Unscopable handled correctly for replaceWith(\[object Object\],\[object Object\]) on CharacterData]
+
+ [Unscopable handled correctly for replaceWith([object Object\],[object Object\]) on CharacterData]
expected: FAIL
+
[Unscopable handled correctly for remove() on CharacterData]
expected: FAIL
+
[Text interface: attribute assignedSlot]
expected: FAIL
+
[Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type]
expected: FAIL
+
[CDATASection interface: existence and properties of interface object]
expected: FAIL
+
[CDATASection interface object length]
expected: FAIL
+
[CDATASection interface object name]
expected: FAIL
+
[CDATASection interface: existence and properties of interface prototype object]
expected: FAIL
+
[CDATASection interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
+
[CDATASection interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[AbstractRange interface: existence and properties of interface object]
expected: FAIL
+
[AbstractRange interface object length]
expected: FAIL
+
[AbstractRange interface object name]
expected: FAIL
+
[AbstractRange interface: existence and properties of interface prototype object]
expected: FAIL
+
[AbstractRange interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
+
[AbstractRange interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[AbstractRange interface: attribute startContainer]
expected: FAIL
+
[AbstractRange interface: attribute startOffset]
expected: FAIL
+
[AbstractRange interface: attribute endContainer]
expected: FAIL
+
[AbstractRange interface: attribute endOffset]
expected: FAIL
+
[AbstractRange interface: attribute collapsed]
expected: FAIL
+
[StaticRange interface: existence and properties of interface object]
expected: FAIL
+
[StaticRange interface object length]
expected: FAIL
+
[StaticRange interface object name]
expected: FAIL
+
[StaticRange interface: existence and properties of interface prototype object]
expected: FAIL
+
[StaticRange interface: existence and properties of interface prototype object's "constructor" property]
expected: FAIL
+
[StaticRange interface: existence and properties of interface prototype object's @@unscopables property]
expected: FAIL
+
[Range interface: existence and properties of interface object]
expected: FAIL
+
[Range interface: existence and properties of interface prototype object]
expected: FAIL
+
[NodeFilter interface: existence and properties of interface object]
expected: FAIL
+
[DOMTokenList interface: operation supports(DOMString)]
expected: FAIL
+
[DOMTokenList interface: document.body.classList must inherit property "supports(DOMString)" with the proper type]
expected: FAIL
+
[DOMTokenList interface: calling supports(DOMString) on document.body.classList with too few arguments must throw TypeError]
expected: FAIL
+
[Window interface: attribute event]
expected: FAIL
+
[Event interface: attribute cancelBubble]
expected: FAIL
+
[Event interface: document.createEvent("Event") must inherit property "cancelBubble" with the proper type]
expected: FAIL
+
[Event interface: new Event("foo") must inherit property "cancelBubble" with the proper type]
expected: FAIL
+
[Event interface: new CustomEvent("foo") must inherit property "cancelBubble" with the proper type]
expected: FAIL
- [Document interface: operation prepend(\[object Object\],\[object Object\])]
+
+ [Document interface: operation prepend([object Object\],[object Object\])]
expected: FAIL
- [Document interface: operation append(\[object Object\],\[object Object\])]
+
+ [Document interface: operation append([object Object\],[object Object\])]
expected: FAIL
- [DocumentType interface: operation before(\[object Object\],\[object Object\])]
+
+ [DocumentType interface: operation before([object Object\],[object Object\])]
expected: FAIL
- [DocumentType interface: operation after(\[object Object\],\[object Object\])]
+
+ [DocumentType interface: operation after([object Object\],[object Object\])]
expected: FAIL
- [DocumentType interface: operation replaceWith(\[object Object\],\[object Object\])]
+
+ [DocumentType interface: operation replaceWith([object Object\],[object Object\])]
expected: FAIL
+
[DocumentType interface: operation remove()]
expected: FAIL
- [DocumentFragment interface: operation prepend(\[object Object\],\[object Object\])]
+
+ [DocumentFragment interface: operation prepend([object Object\],[object Object\])]
expected: FAIL
- [DocumentFragment interface: operation append(\[object Object\],\[object Object\])]
+
+ [DocumentFragment interface: operation append([object Object\],[object Object\])]
expected: FAIL
- [Element interface: operation prepend(\[object Object\],\[object Object\])]
+
+ [Element interface: operation prepend([object Object\],[object Object\])]
expected: FAIL
- [Element interface: operation append(\[object Object\],\[object Object\])]
+
+ [Element interface: operation append([object Object\],[object Object\])]
expected: FAIL
- [Element interface: operation before(\[object Object\],\[object Object\])]
+
+ [Element interface: operation before([object Object\],[object Object\])]
expected: FAIL
- [Element interface: operation after(\[object Object\],\[object Object\])]
+
+ [Element interface: operation after([object Object\],[object Object\])]
expected: FAIL
- [Element interface: operation replaceWith(\[object Object\],\[object Object\])]
+
+ [Element interface: operation replaceWith([object Object\],[object Object\])]
expected: FAIL
+
[Element interface: operation remove()]
expected: FAIL
- [CharacterData interface: operation before(\[object Object\],\[object Object\])]
+
+ [CharacterData interface: operation before([object Object\],[object Object\])]
expected: FAIL
- [CharacterData interface: operation after(\[object Object\],\[object Object\])]
+
+ [CharacterData interface: operation after([object Object\],[object Object\])]
expected: FAIL
- [CharacterData interface: operation replaceWith(\[object Object\],\[object Object\])]
+
+ [CharacterData interface: operation replaceWith([object Object\],[object Object\])]
expected: FAIL
+
[CharacterData interface: operation remove()]
expected: FAIL
+ [DOMTokenList interface: iterable<DOMString>]
+ expected: FAIL
+
+ [NodeList interface: iterable<Node>]
+ expected: FAIL
+
[interfaces.html?include=Node]
[DOM IDL tests]
@@ -1192,133 +1356,199 @@
[Node interface: attribute isConnected]
expected: FAIL
+
[Node interface: new Document() must inherit property "isConnected" with the proper type]
expected: FAIL
+
[Node interface: xmlDoc must inherit property "isConnected" with the proper type]
expected: FAIL
+
[Node interface: document.doctype must inherit property "isConnected" with the proper type]
expected: FAIL
+
[Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type]
expected: FAIL
+
[Node interface: element must inherit property "isConnected" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "ELEMENT_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ELEMENT_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "ATTRIBUTE_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ATTRIBUTE_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "TEXT_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "TEXT_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "CDATA_SECTION_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "CDATA_SECTION_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "ENTITY_REFERENCE_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ENTITY_REFERENCE_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "ENTITY_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ENTITY_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "COMMENT_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "COMMENT_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_TYPE_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_TYPE_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "NOTATION_NODE" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "NOTATION_NODE" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "nodeType" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "nodeType" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "baseURI" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "baseURI" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "isConnected" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isConnected" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "ownerDocument" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "ownerDocument" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "getRootNode(GetRootNodeOptions)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "getRootNode(GetRootNodeOptions)" with the proper type]
expected: FAIL
- [Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "parentNode" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "parentNode" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "parentElement" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "parentElement" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "hasChildNodes()" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "hasChildNodes()" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "childNodes" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "childNodes" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "firstChild" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "firstChild" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "lastChild" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "lastChild" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "previousSibling" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "previousSibling" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "nextSibling" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "nextSibling" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "normalize()" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "normalize()" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "cloneNode(boolean)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "cloneNode(boolean)" with the proper type]
expected: FAIL
- [Node interface: calling cloneNode(boolean) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling cloneNode(boolean) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "isEqualNode(Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isEqualNode(Node)" with the proper type]
expected: FAIL
- [Node interface: calling isEqualNode(Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling isEqualNode(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "isSameNode(Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isSameNode(Node)" with the proper type]
expected: FAIL
- [Node interface: calling isSameNode(Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling isSameNode(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "compareDocumentPosition(Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "compareDocumentPosition(Node)" with the proper type]
expected: FAIL
- [Node interface: calling compareDocumentPosition(Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "contains(Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "contains(Node)" with the proper type]
expected: FAIL
- [Node interface: calling contains(Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling contains(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "lookupPrefix(DOMString)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "lookupPrefix(DOMString)" with the proper type]
expected: FAIL
- [Node interface: calling lookupPrefix(DOMString) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "lookupNamespaceURI(DOMString)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "lookupNamespaceURI(DOMString)" with the proper type]
expected: FAIL
- [Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "isDefaultNamespace(DOMString)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "isDefaultNamespace(DOMString)" with the proper type]
expected: FAIL
- [Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "insertBefore(Node, Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "insertBefore(Node, Node)" with the proper type]
expected: FAIL
- [Node interface: calling insertBefore(Node, Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling insertBefore(Node, Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "appendChild(Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "appendChild(Node)" with the proper type]
expected: FAIL
- [Node interface: calling appendChild(Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling appendChild(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "replaceChild(Node, Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "replaceChild(Node, Node)" with the proper type]
expected: FAIL
- [Node interface: calling replaceChild(Node, Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling replaceChild(Node, Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
- [Node interface: document.querySelector("\[id\]").attributes\[0\] must inherit property "removeChild(Node)" with the proper type]
+
+ [Node interface: document.querySelector("[id\]").attributes[0\] must inherit property "removeChild(Node)" with the proper type]
expected: FAIL
- [Node interface: calling removeChild(Node) on document.querySelector("\[id\]").attributes\[0\] with too few arguments must throw TypeError]
+
+ [Node interface: calling removeChild(Node) on document.querySelector("[id\]").attributes[0\] with too few arguments must throw TypeError]
expected: FAIL
+
[Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type]
expected: FAIL
+
[Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type]
expected: FAIL
+
[Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type]
expected: FAIL
+
diff --git a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini
index 8e4b3a6eb4a..27f22f91b7d 100644
--- a/tests/wpt/metadata/encoding/single-byte-decoder.html.ini
+++ b/tests/wpt/metadata/encoding/single-byte-decoder.html.ini
@@ -2,7 +2,7 @@
type: testharness
[single-byte-decoder.html?document]
- expected: TIMEOUT
+ expected: CRASH
[ISO-8859-4: iso_8859-4:1988 (document.characterSet and document.inputEncoding)]
expected: FAIL
@@ -32,7 +32,7 @@
[single-byte-decoder.html?XMLHttpRequest]
- expected: TIMEOUT
+ expected: CRASH
[ISO-8859-2: iso_8859-2:1987 (XMLHttpRequest)]
expected: FAIL
diff --git a/tests/wpt/metadata/fetch/api/idl.any.js.ini b/tests/wpt/metadata/fetch/api/idl.any.js.ini
index 73f5bb7ec46..c3672054666 100644
--- a/tests/wpt/metadata/fetch/api/idl.any.js.ini
+++ b/tests/wpt/metadata/fetch/api/idl.any.js.ini
@@ -4,61 +4,91 @@
[idl]
expected: FAIL
+
[Testing Symbol.iterator property of iterable interface Headers]
expected: FAIL
+
[Request interface: attribute keepalive]
expected: FAIL
+
[Request interface: attribute isReloadNavigation]
expected: FAIL
+
[Request interface: attribute isHistoryNavigation]
expected: FAIL
+
[Request interface: attribute signal]
expected: FAIL
+
[Request interface: attribute body]
expected: FAIL
+
[Request interface: operation arrayBuffer()]
expected: FAIL
+
[Request interface: operation blob()]
expected: FAIL
+
[Request interface: operation formData()]
expected: FAIL
+
[Request interface: operation json()]
expected: FAIL
+
[Request interface: operation text()]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "signal" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "body" with the proper type]
expected: FAIL
+
[Response interface: attribute trailer]
expected: FAIL
+
[Response interface: attribute body]
expected: FAIL
+
[Response interface: operation arrayBuffer()]
expected: FAIL
+
[Response interface: operation blob()]
expected: FAIL
+
[Response interface: operation formData()]
expected: FAIL
+
[Response interface: operation json()]
expected: FAIL
+
[Response interface: operation text()]
expected: FAIL
+
[Response interface: new Response() must inherit property "trailer" with the proper type]
expected: FAIL
+
[Response interface: new Response() must inherit property "body" with the proper type]
expected: FAIL
+
[WorkerGlobalScope interface: calling fetch(RequestInfo, RequestInit) on self with too few arguments must throw TypeError]
expected: FAIL
+
[WorkerGlobalScope interface: operation fetch(RequestInfo, RequestInit)]
expected: FAIL
+ [Headers interface: iterable<ByteString, ByteString>]
+ expected: FAIL
+
[idl.any.html]
[Untitled]
@@ -66,61 +96,91 @@
[idl]
expected: FAIL
+
[Testing Symbol.iterator property of iterable interface Headers]
expected: FAIL
+
[Request interface: attribute keepalive]
expected: FAIL
+
[Request interface: attribute isReloadNavigation]
expected: FAIL
+
[Request interface: attribute isHistoryNavigation]
expected: FAIL
+
[Request interface: attribute signal]
expected: FAIL
+
[Request interface: attribute body]
expected: FAIL
+
[Request interface: operation arrayBuffer()]
expected: FAIL
+
[Request interface: operation blob()]
expected: FAIL
+
[Request interface: operation formData()]
expected: FAIL
+
[Request interface: operation json()]
expected: FAIL
+
[Request interface: operation text()]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "keepalive" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "isReloadNavigation" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "isHistoryNavigation" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "signal" with the proper type]
expected: FAIL
+
[Request interface: new Request('about:blank') must inherit property "body" with the proper type]
expected: FAIL
+
[Response interface: attribute trailer]
expected: FAIL
+
[Response interface: attribute body]
expected: FAIL
+
[Response interface: operation arrayBuffer()]
expected: FAIL
+
[Response interface: operation blob()]
expected: FAIL
+
[Response interface: operation formData()]
expected: FAIL
+
[Response interface: operation json()]
expected: FAIL
+
[Response interface: operation text()]
expected: FAIL
+
[Response interface: new Response() must inherit property "trailer" with the proper type]
expected: FAIL
+
[Response interface: new Response() must inherit property "body" with the proper type]
expected: FAIL
+
[Window interface: calling fetch(RequestInfo, RequestInit) on window with too few arguments must throw TypeError]
expected: FAIL
+
[Window interface: operation fetch(RequestInfo, RequestInit)]
expected: FAIL
+ [Headers interface: iterable<ByteString, ByteString>]
+ expected: FAIL
+
[idl.any.sharedworker.html]
[Untitled]
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_4.html.ini b/tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini
index 385376c7321..dc2e45516de 100644
--- 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_5.html.ini
@@ -1,4 +1,4 @@
-[traverse_the_history_4.html]
+[traverse_the_history_5.html]
[Multiple history traversals, last would be aborted]
expected: FAIL
diff --git a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini
index 772148dc71f..3352221fdd7 100644
--- a/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini
+++ b/tests/wpt/metadata/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change.html.ini
@@ -1,15 +1,26 @@
[viewport-change.html]
type: testharness
- expected: TIMEOUT
[picture: source (max-width:500px) broken image, img valid image, resize to wide]
- expected: TIMEOUT
+ expected: FAIL
[picture: source (max-width:500px) valid image, img valid image, resize to wide]
expected: FAIL
[picture: source (max-width:500px) valid image, img broken image, resize to narrow]
- expected: TIMEOUT
+ expected: FAIL
[picture: source (max-width:500px) valid image, img valid image, resize to narrow]
expected: FAIL
+ [img (srcset 1 cand) valid image, resize to wide]
+ expected: FAIL
+
+ [picture: same URL in source (max-width:500px) and img, resize to wide]
+ expected: FAIL
+
+ [img (srcset 1 cand) valid image, resize to narrow]
+ expected: FAIL
+
+ [picture: same URL in source (max-width:500px) and img, resize to narrow]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/performance-timeline/idlharness.any.js.ini b/tests/wpt/metadata/performance-timeline/idlharness.any.js.ini
index 42b4bda7284..590af74cd85 100644
--- a/tests/wpt/metadata/performance-timeline/idlharness.any.js.ini
+++ b/tests/wpt/metadata/performance-timeline/idlharness.any.js.ini
@@ -31,6 +31,9 @@
[PerformanceMark interface: mark must inherit property "detail" with the proper type]
expected: FAIL
+ [PerformanceMark interface object length]
+ expected: FAIL
+
[idlharness.any.html]
[Untitled]
@@ -60,6 +63,9 @@
[PerformanceMark interface: mark must inherit property "detail" with the proper type]
expected: FAIL
+ [PerformanceMark interface object length]
+ expected: FAIL
+
[idlharness.https.any.serviceworker.html]
type: testharness
diff --git a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini
index 99a24216c88..7725b118e9d 100644
--- a/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini
+++ b/tests/wpt/metadata/performance-timeline/webtiming-resolution.any.js.ini
@@ -12,3 +12,6 @@
[Verifies the resolution of entry.startTime is at least 5 microseconds.]
expected: TIMEOUT
+ [Verifies the resolution of performance.now() is at least 5 microseconds.]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/url/idlharness.any.js.ini b/tests/wpt/metadata/url/idlharness.any.js.ini
index bcc77ddf03d..70a60c1c261 100644
--- a/tests/wpt/metadata/url/idlharness.any.js.ini
+++ b/tests/wpt/metadata/url/idlharness.any.js.ini
@@ -8,6 +8,9 @@
[URL interface: legacy window alias]
expected: FAIL
+ [URLSearchParams interface: iterable<USVString, USVString>]
+ expected: FAIL
+
[idlharness.any.worker.html]
[idlharness]
@@ -15,3 +18,7 @@
[Testing Symbol.iterator property of iterable interface URLSearchParams]
expected: FAIL
+
+ [URLSearchParams interface: iterable<USVString, USVString>]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini b/tests/wpt/metadata/webaudio/the-audio-api/the-analysernode-interface/realtimeanalyser-fft-scaling.html.ini
index 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/workers/semantics/multiple-workers/005.html.ini b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
index 268949ced5c..f584fce5df1 100644
--- a/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
+++ b/tests/wpt/metadata/workers/semantics/multiple-workers/005.html.ini
@@ -1,4 +1,5 @@
[005.html]
+ expected: ERROR
[dedicated worker in shared worker in dedicated worker]
expected: FAIL
diff --git a/tests/wpt/metadata/xhr/idlharness.any.js.ini b/tests/wpt/metadata/xhr/idlharness.any.js.ini
index b311a445b84..9ca6034a25c 100644
--- a/tests/wpt/metadata/xhr/idlharness.any.js.ini
+++ b/tests/wpt/metadata/xhr/idlharness.any.js.ini
@@ -5,6 +5,9 @@
[Testing Symbol.iterator property of iterable interface FormData]
expected: FAIL
+ [FormData interface: iterable<USVString, FormDataEntryValue>]
+ expected: FAIL
+
[idlharness.any.sharedworker.html]
[idlharness]
@@ -24,3 +27,6 @@
[Testing Symbol.iterator property of iterable interface FormData]
expected: FAIL
+ [FormData interface: iterable<USVString, FormDataEntryValue>]
+ expected: FAIL
+
diff --git a/tests/wpt/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html b/tests/wpt/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html
index 11ed88c3fa2..ea0ca2902c5 100644
--- a/tests/wpt/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html
+++ b/tests/wpt/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<meta charset="utf-8">
-<title>Async Clipboard basic tests</title>
+<title>Async Clipboard input type validation tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
@@ -46,6 +46,21 @@ promise_test(async t => {
navigator.clipboard.writeText());
}, "navigator.clipboard.writeText() fails (expect DOMString)");
+/* clipboard.writeImageExperimental() */
+
+promise_test(async () => {
+ const fetched = await fetch(
+ 'http://localhost:8001/clipboard-apis/resources/greenbox.png');
+ const image = await fetched.blob();
+
+ await navigator.clipboard.writeImageExperimental(image);
+}, "navigator.clipboard.writeImageExperimental(Blob) succeeds");
+
+promise_test(async t => {
+ await promise_rejects(t, new TypeError(),
+ navigator.clipboard.writeImageExperimental());
+}, "navigator.clipboard.writeImageExperimental() fails (expect Blob)");
+
/* clipboard.read() */
@@ -62,4 +77,11 @@ promise_test(async () => {
assert_equals(typeof result, "string");
}, "navigator.clipboard.readText() succeeds");
+/* clipboard.readImageExperimental() */
+
+promise_test(async () => {
+ const result = await navigator.clipboard.readImageExperimental();
+ assert_equals(typeof result, "object");
+}, "navigator.clipboard.readImageExperimental() succeeds");
+
</script>
diff --git a/tests/wpt/web-platform-tests/clipboard-apis/async-write-image-read-image-manual.https.html b/tests/wpt/web-platform-tests/clipboard-apis/async-write-image-read-image-manual.https.html
new file mode 100644
index 00000000000..ac7fb0863e7
--- /dev/null
+++ b/tests/wpt/web-platform-tests/clipboard-apis/async-write-image-read-image-manual.https.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>
+ Async Clipboard writeImageExperimental -> readImageExperimental tests
+</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<div>Original Image:</div>
+<image id='image-to-copy' src="resources/greenbox.png"></image>
+<div>Image after copy/paste:</div>
+<image id='image-on-clipboard'></image>
+
+<canvas id="canvas" width="30" height="30"></canvas>
+
+<script>
+// Must compare a bitmap as opposed to simply blob data, because an encoded
+// image may have different contents depending on encoder.
+const getBitmapString = async blob => {
+ const imageBitmap = await createImageBitmap(blob);
+ const canvas = document.getElementById('canvas');
+ const ctx = canvas.getContext('2d');
+
+ ctx.drawImage(imageBitmap, 0,0);
+
+ let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
+ return imageData.data.toString();
+};
+
+const loadBlob = async fileName => {
+ const fetched = await fetch(fileName);
+ return await fetched.blob();
+}
+
+promise_test(async t => {
+ const input = await loadBlob(
+ 'http://localhost:8001/clipboard-apis/resources/greenbox.png');
+
+ await navigator.clipboard.writeImageExperimental(input);
+ const output = await navigator.clipboard.readImageExperimental();
+
+ document.getElementById('image-on-clipboard').src =
+ window.URL.createObjectURL(output);
+
+ const comparableInput = await getBitmapString(input);
+ const comparableOutput = await getBitmapString(output);
+
+ assert_equals(comparableOutput, comparableInput);
+}, "Verify write and read clipboard (DOMString)");
+</script>
+<br/><br/>
+Note: This is a manual test because it writes/reads to the shared system
+clipboard and thus cannot be run async with other tests that might interact
+with the clipboard.
+<br/><br/>
+The bottom image should display the same image as the top image.
diff --git a/tests/wpt/web-platform-tests/clipboard-apis/resources/greenbox.png b/tests/wpt/web-platform-tests/clipboard-apis/resources/greenbox.png
new file mode 100644
index 00000000000..6e555e3b197
--- /dev/null
+++ b/tests/wpt/web-platform-tests/clipboard-apis/resources/greenbox.png
Binary files differ
diff --git a/tests/wpt/web-platform-tests/css/css-flexbox/flex-basis-009.html b/tests/wpt/web-platform-tests/css/css-flexbox/flex-basis-009.html
new file mode 100644
index 00000000000..3e2026958fd
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/css-flexbox/flex-basis-009.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<script src='/resources/testharness.js'></script>
+<script src='/resources/testharnessreport.js'></script>
+<script src='/resources/check-layout-th.js'></script>
+<link rel="author" title="David Grogan" href="dgrogan@chromium.org">
+<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#valdef-flex-basis-auto">
+<meta name="flags" content="" />
+<meta name="assert" content="flex-basis:auto on orthogonal item in horizontal column flexbox is calculated correctly" />
+
+<style>
+x-word-h {
+ display: inline-block;
+ height: 10px;
+ width: 20px;
+ background: blue;
+}
+
+x-word-v {
+ display: inline-block;
+ height: 20px;
+ width: 10px;
+ background: blue;
+}
+
+* {
+ /* This is for easier manual calculations, not necessary to demonstrate behavior. */
+ line-height: 0;
+}
+</style>
+
+<div id=flexbox style="width:150px; background:green; height:400px; display:flex; flex-direction:column">
+ <div style="writing-mode: vertical-rl;background:orange; flex:1 1 auto" data-expected-height=225>
+ <x-word-v></x-word-v><x-word-v></x-word-v><x-word-v></x-word-v>
+ </div>
+ <div style="background:lightblue; flex: 1 1 auto">
+ <x-word-h></x-word-h><x-word-h></x-word-h><x-word-h></x-word-h>
+ </div>
+</div>
+
+<script>
+checkLayout('#flexbox');
+</script>
diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/prefers-color-scheme.html b/tests/wpt/web-platform-tests/css/mediaqueries/prefers-color-scheme.html
index 705a7ca47f8..c6ca45ab172 100644
--- a/tests/wpt/web-platform-tests/css/mediaqueries/prefers-color-scheme.html
+++ b/tests/wpt/web-platform-tests/css/mediaqueries/prefers-color-scheme.html
@@ -2,48 +2,36 @@
<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-color-scheme" />
<script type="text/javascript" src="/resources/testharness.js"></script>
<script type="text/javascript" src="/resources/testharnessreport.js"></script>
-<style id="testStyle"> </style>
-<script>
- var sheet = testStyle.sheet;
-
- function query_is_parseable(query) {
- try {
- sheet.insertRule("@media " + query + "{}", 0);
- return sheet.cssRules.length == 1 &&
- sheet.cssRules[0].media.mediaText != "not all";
- } finally {
- while (sheet.cssRules.length)
- sheet.deleteRule(0);
- }
- }
- function query_should_be_parseable(query) {
- test(() => {
- assert_true(query_is_parseable(query));
- }, "Should be parseable: '" + query + "'");
- }
+<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
+<script>
+query_should_be_css_parseable("(prefers-color-scheme)");
+query_should_be_css_parseable("(prefers-color-scheme: no-preference)");
+query_should_be_css_parseable("(prefers-color-scheme: light)");
+query_should_be_css_parseable("(prefers-color-scheme: dark)");
- function query_should_not_be_parseable(query) {
- test(() => {
- assert_false(query_is_parseable(query));
- }, "Should not be parseable: '" + query + "'");
- }
+query_should_not_be_css_parseable("(prefers-color-scheme: 0)");
+query_should_not_be_css_parseable("(prefers-color-scheme: none)");
+query_should_not_be_css_parseable("(prefers-color-scheme: 10px)");
+query_should_not_be_css_parseable("(prefers-color-scheme: dark 0)");
+query_should_not_be_css_parseable("(prefers-color-scheme: dark light)");
+query_should_not_be_css_parseable("(prefers-color-scheme: light/dark)");
- query_should_be_parseable("(prefers-color-scheme)");
- query_should_be_parseable("(prefers-color-scheme: no-preference)");
- query_should_be_parseable("(prefers-color-scheme: light)");
- query_should_be_parseable("(prefers-color-scheme: dark)");
+query_should_be_js_parseable("(prefers-color-scheme)");
+query_should_be_js_parseable("(prefers-color-scheme: no-preference)");
+query_should_be_js_parseable("(prefers-color-scheme: light)");
+query_should_be_js_parseable("(prefers-color-scheme: dark)");
- query_should_not_be_parseable("(prefers-color-scheme: 0)");
- query_should_not_be_parseable("(prefers-color-scheme: none)");
- query_should_not_be_parseable("(prefers-color-scheme: 10px)");
- query_should_not_be_parseable("(prefers-color-scheme: dark 0)");
- query_should_not_be_parseable("(prefers-color-scheme: dark light)");
- query_should_not_be_parseable("(prefers-color-scheme: light/dark)");
+query_should_not_be_js_parseable("(prefers-color-scheme: 0)");
+query_should_not_be_js_parseable("(prefers-color-scheme: none)");
+query_should_not_be_js_parseable("(prefers-color-scheme: 10px)");
+query_should_not_be_js_parseable("(prefers-color-scheme: dark 0)");
+query_should_not_be_js_parseable("(prefers-color-scheme: dark light)");
+query_should_not_be_js_parseable("(prefers-color-scheme: light/dark)");
- test(() => {
- let booleanContext = window.matchMedia("(prefers-color-scheme)");
- let noPreference = window.matchMedia("(prefers-color-scheme: no-preference)");
- assert_equals(booleanContext.matches, !noPreference.matches);
- }, "Check that no-preference evaluates to false in the boolean context");
+test(() => {
+ let booleanContext = window.matchMedia("(prefers-color-scheme)");
+ let noPreference = window.matchMedia("(prefers-color-scheme: no-preference)");
+ assert_equals(booleanContext.matches, !noPreference.matches);
+}, "Check that no-preference evaluates to false in the boolean context");
</script>
diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html b/tests/wpt/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html
new file mode 100644
index 00000000000..2d9f8847459
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<link rel="help" href="https://drafts.csswg.org/mediaqueries-5/#prefers-reduced-motion" />
+<script type="text/javascript" src="/resources/testharness.js"></script>
+<script type="text/javascript" src="/resources/testharnessreport.js"></script>
+
+<script type="text/javascript" src="resources/matchmedia-utils.js"></script>
+<script>
+query_should_be_css_parseable("(prefers-reduced-motion)");
+query_should_be_css_parseable("(prefers-reduced-motion: no-preference)");
+query_should_be_css_parseable("(prefers-reduced-motion: reduce)");
+
+query_should_not_be_css_parseable("(prefers-reduced-motion: 0)");
+query_should_not_be_css_parseable("(prefers-reduced-motion: none)");
+query_should_not_be_css_parseable("(prefers-reduced-motion: 10px)");
+query_should_not_be_css_parseable("(prefers-reduced-motion: no-preference reduce)");
+query_should_not_be_css_parseable("(prefers-reduced-motion: reduced)");
+query_should_not_be_css_parseable("(prefers-reduced-motion: no-preference/reduce)");
+
+query_should_be_js_parseable("(prefers-reduced-motion)");
+query_should_be_js_parseable("(prefers-reduced-motion: no-preference)");
+query_should_be_js_parseable("(prefers-reduced-motion: reduce)");
+
+query_should_not_be_js_parseable("(prefers-reduced-motion: 0)");
+query_should_not_be_js_parseable("(prefers-reduced-motion: none)");
+query_should_not_be_js_parseable("(prefers-reduced-motion: 10px)");
+query_should_not_be_js_parseable("(prefers-reduced-motion: no-preference reduce)");
+query_should_not_be_js_parseable("(prefers-reduced-motion: reduced)");
+query_should_not_be_js_parseable("(prefers-reduced-motion: no-preference/reduce)");
+
+test(() => {
+ // What this is saying is that 'no-preference' is not the default, so
+ // irregardless of the current OS settings, (prefers-reduced-motion).matches
+ // should not be equivalent to (prefers-reduced-motion: no-preference).matches.
+ let booleanContext = window.matchMedia("(prefers-reduced-motion)");
+ let noPreference = window.matchMedia("(prefers-reduced-motion: no-preference)");
+ assert_equals(booleanContext.matches, !noPreference.matches);
+}, "Check that no-preference evaluates to false in the boolean context");
+</script>
diff --git a/tests/wpt/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js b/tests/wpt/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js
new file mode 100644
index 00000000000..544f68c0400
--- /dev/null
+++ b/tests/wpt/web-platform-tests/css/mediaqueries/resources/matchmedia-utils.js
@@ -0,0 +1,49 @@
+'use strict';
+
+function query_is_css_parseable(query) {
+ const style = document.createElement('style');
+ style.type = 'text/css';
+ document.head.appendChild(style);
+
+ const sheet = style.sheet;
+ try {
+ sheet.insertRule("@media " + query + "{}", 0);
+ return sheet.cssRules.length == 1 &&
+ sheet.cssRules[0].media.mediaText != "not all";
+ } finally {
+ while (sheet.cssRules.length)
+ sheet.deleteRule(0);
+ style.remove();
+ }
+}
+
+function query_should_be_css_parseable(query) {
+ test(() => {
+ assert_true(query_is_css_parseable(query));
+ }, "Should be parseable in a CSS stylesheet: '" + query + "'");
+}
+
+function query_should_not_be_css_parseable(query) {
+ test(() => {
+ assert_false(query_is_css_parseable(query));
+ }, "Should not be parseable in a CSS stylesheet: '" + query + "'");
+}
+
+function query_is_js_parseable(query) {
+ // We cannot rely on whether a given feature is on or off, so only check the
+ // 'media' member of the result.
+ const match = window.matchMedia(query);
+ return match.media == query;
+}
+
+function query_should_be_js_parseable(query) {
+ test(() => {
+ assert_true(query_is_js_parseable(query));
+ }, "Should be parseable in JS: '" + query + "'");
+}
+
+function query_should_not_be_js_parseable(query) {
+ test(() => {
+ assert_false(query_is_js_parseable(query));
+ }, "Should not be parseable in JS: '" + query + "'");
+}
diff --git a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html
index aa838ec8774..38b6765bb49 100644
--- a/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html
+++ b/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-img-element/Image-constructor.html
@@ -32,6 +32,11 @@
assert_equals(Image.prototype, HTMLImageElement.prototype, "Image.prototype is same as HTMLImageElement.prototype");
assert_equals(new Image().__proto__, HTMLImageElement.prototype, "Image __proto__ is HTMLImageElement prototype ");
assert_equals(Image.prototype.__proto__, HTMLElement.prototype, "Image.prototype __proto__ is HTMLElement prototype");
+
+ const desc = Object.getOwnPropertyDescriptor(Image, "prototype");
+ assert_false(desc.configurable, "Image.prototype is not configurable");
+ assert_false(desc.enumerable, "Image.prototype is not enumerable");
+ assert_false(desc.writable, "Image.prototype is not writable");
}, "NamedConstructor creates the correct object structure.");
</script>
diff --git a/tests/wpt/web-platform-tests/interfaces/dom.idl b/tests/wpt/web-platform-tests/interfaces/dom.idl
index 503c391102a..1788faae520 100644
--- a/tests/wpt/web-platform-tests/interfaces/dom.idl
+++ b/tests/wpt/web-platform-tests/interfaces/dom.idl
@@ -1,7 +1,7 @@
// GENERATED CONTENT - DO NOT EDIT
-// Content of this file was automatically extracted from the
-// "DOM Standard" spec.
-// See: https://dom.spec.whatwg.org/
+// Content was automatically extracted by Reffy into reffy-reports
+// (https://github.com/tidoust/reffy-reports)
+// Source: DOM Standard (https://dom.spec.whatwg.org/)
[Constructor(DOMString type, optional EventInit eventInitDict),
Exposed=(Window,Worker,AudioWorklet)]
@@ -145,7 +145,7 @@ Text includes Slotable;
interface NodeList {
getter Node? item(unsigned long index);
readonly attribute unsigned long length;
-// iterable<Node>;
+ iterable<Node>;
};
[Exposed=Window, LegacyUnenumerableNamedProperties]
@@ -548,5 +548,5 @@ interface DOMTokenList {
[CEReactions] boolean replace(DOMString token, DOMString newToken);
boolean supports(DOMString token);
[CEReactions] stringifier attribute DOMString value;
- // iterable<DOMString>;
+ iterable<DOMString>;
};
diff --git a/tests/wpt/web-platform-tests/interfaces/user-timing.idl b/tests/wpt/web-platform-tests/interfaces/user-timing.idl
index 723b063156a..da8a0acd673 100644
--- a/tests/wpt/web-platform-tests/interfaces/user-timing.idl
+++ b/tests/wpt/web-platform-tests/interfaces/user-timing.idl
@@ -22,7 +22,8 @@ partial interface Performance {
void clearMeasures(optional DOMString measureName);
};
-[Exposed=(Window,Worker)]
+[Exposed=(Window,Worker),
+ Constructor(DOMString markName, optional PerformanceMarkOptions markOptions)]
interface PerformanceMark : PerformanceEntry {
readonly attribute any detail;
};
diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html
new file mode 100644
index 00000000000..39a88836645
--- /dev/null
+++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html
@@ -0,0 +1,66 @@
+<!doctype html>
+<html>
+<head>
+ <title>MediaRecorder Pause and Resume</title>
+ <link rel="help" href="https://w3c.github.io/mediacapture-record/MediaRecorder.html#mediarecorder">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<canvas id="canvas" width="200" height="200">
+</canvas>
+<script>
+ function createVideoStream() {
+ let canvas = document.getElementById("canvas");
+ canvas.getContext('2d');
+ return canvas.captureStream();
+ }
+
+ function recordEvents(target, events) {
+ let arr = [];
+ for (let ev of events) {
+ target.addEventListener(ev, _ => arr.push(ev));
+ }
+ return arr;
+ }
+
+ promise_test(async () => {
+ let video = createVideoStream();
+ let recorder = new MediaRecorder(video);
+ let events = recordEvents(recorder,
+ ["start", "stop", "dataavailable", "pause", "resume", "error"]);
+
+ recorder.start();
+ assert_equals(recorder.state, "recording", "MediaRecorder has been started successfully");
+
+ recorder.pause();
+ assert_equals(recorder.state, "paused", "MediaRecorder should be paused immediately following pause()");
+
+ // A second call to pause should be idempotent
+ recorder.pause();
+ assert_equals(recorder.state, "paused", "MediaRecorder should be paused immediately following pause()");
+
+ let event = await new Promise(r => recorder.onpause = r);
+ assert_equals(event.type, "pause", "the event type should be pause");
+ assert_true(event.isTrusted, "isTrusted should be true when the event is created by C++");
+
+ recorder.resume();
+ assert_equals(recorder.state, "recording", "MediaRecorder state should be recording immediately following resume() call");
+
+ // A second call to resume should be idempotent
+ recorder.resume();
+ assert_equals(recorder.state, "recording", "MediaRecorder state should be recording immediately following resume() call");
+
+ event = await new Promise(r => recorder.onresume = r);
+ assert_equals(event.type, "resume", "the event type should be resume");
+ assert_true(event.isTrusted, "isTrusted should be true when the event is created by C++");
+
+ recorder.stop();
+ await new Promise(r => recorder.onstop = r);
+
+ assert_array_equals(events, ["start", "pause", "resume", "dataavailable", "stop"],
+ "Should have gotten expected events");
+ }, "MediaRecorder handles pause() and resume() calls appropriately in state and events");
+</script>
+</body>
+</html>
diff --git a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
index 8e05fc5491d..5dd9aa63730 100644
--- a/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
+++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-stop.html
@@ -16,35 +16,68 @@
return canvas.captureStream();
}
- async_test(t => {
+ function recordEvents(target, events) {
+ let arr = [];
+ for (let ev of events) {
+ target.addEventListener(ev, _ => arr.push(ev));
+ }
+ return arr;
+ }
+
+ promise_test(async t => {
let video = createVideoStream();
let recorder = new MediaRecorder(video);
- recorder.onstop = t.step_func(errorEvent => {
- assert_equals(errorEvent.type, 'stop', 'the error type should be stop');
- assert_true(errorEvent.isTrusted, 'isTrusted should be true when the event is created by C++');
- assert_equals(recorder.state, "inactive", "MediaRecorder has been stopped when all tracks are ended");
- t.done();
- });
+ let events = recordEvents(recorder,
+ ["start", "stop", "dataavailable", "pause", "resume", "error"]);
assert_equals(video.getVideoTracks().length, 1, "video mediastream starts with one track");
recorder.start();
assert_equals(recorder.state, "recording", "MediaRecorder has been started successfully");
+
video.getVideoTracks()[0].stop();
+ assert_equals(recorder.state, "recording", "MediaRecorder state should be recording immediately following last track ending");
+ let event = await new Promise(r => recorder.onstop = r);
+
+ assert_equals(event.type, "stop", "the event type should be stop");
+ assert_true(event.isTrusted, "isTrusted should be true when the event is created by C++");
+ assert_equals(recorder.state, "inactive", "MediaRecorder is inactive after stop event");
+
+ assert_array_equals(events, ["start", "dataavailable", "stop"],
+ "Should have gotten expected events");
+
+ recorder.stop();
+ await Promise.race([
+ new Promise((_, reject) => recorder.onstop =
+ _ => reject(new Error("stop() is idempotent"))),
+ new Promise(r => t.step_timeout(r, 0))
+ ]);
}, "MediaRecorder will stop recording and fire a stop event when all tracks are ended");
- async_test(t => {
+ promise_test(async t => {
let video = createVideoStream();
let recorder = new MediaRecorder(video);
- recorder.onstop = t.step_func(errorEvent => {
- assert_equals(errorEvent.type, 'stop', 'the error type should be stop');
- assert_true(errorEvent.isTrusted, 'isTrusted should be true when the event is created by C++');
- assert_equals(recorder.state, "inactive", "MediaRecorder has been stopped when stop() is called");
- t.done();
- });
+ let events = recordEvents(recorder,
+ ["start", "stop", "dataavailable", "pause", "resume", "error"]);
recorder.start();
assert_equals(recorder.state, "recording", "MediaRecorder has been started successfully");
+
+ recorder.stop();
+ assert_equals(recorder.state, "inactive", "MediaRecorder state should be inactive immediately following stop() call");
+
+ let event = await new Promise (r => recorder.onstop = r);
+ assert_equals(event.type, "stop", "the event type should be stop");
+ assert_true(event.isTrusted, "isTrusted should be true when the event is created by C++");
+ assert_equals(recorder.state, "inactive", "MediaRecorder is inactive after stop event");
+
+ assert_array_equals(events, ["start", "dataavailable", "stop"],
+ "Should have gotten expected events");
+
recorder.stop();
- assert_equals(recorder.state, "recording", "State should remain the same until stop event is fired");
+ await Promise.race([
+ new Promise((_, reject) => recorder.onstop =
+ _ => reject(new Error("stop() is idempotent"))),
+ new Promise(r => t.step_timeout(r, 0))
+ ]);
}, "MediaRecorder will stop recording and fire a stop event when stop() is called");
</script>
</body>
-</html> \ No newline at end of file
+</html>
diff --git a/tests/wpt/web-platform-tests/portals/portals-rendering.html b/tests/wpt/web-platform-tests/portals/portals-rendering.html
new file mode 100644
index 00000000000..8683a38326d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/portals/portals-rendering.html
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html class="reftest-wait">
+<title>Portals rendering test</title>
+<link rel="match" href="references/portals-rendering.html">
+<body>
+ <portal src="resources/portals-rendering-portal.html" style="background-color: red; width: 100px; height: 100px"></portal>
+ <script>
+ var bc = new BroadcastChannel('portal');
+ bc.onmessage = function(e) {
+ window.requestAnimationFrame(function(ts) {
+ document.documentElement.classList.remove('reftest-wait');
+ });
+ bc.close();
+ }
+ </script>
+</body>
diff --git a/tests/wpt/web-platform-tests/portals/references/portals-rendering.html b/tests/wpt/web-platform-tests/portals/references/portals-rendering.html
new file mode 100644
index 00000000000..4a8414ab565
--- /dev/null
+++ b/tests/wpt/web-platform-tests/portals/references/portals-rendering.html
@@ -0,0 +1,5 @@
+<!DOCTYPE html>
+<title>Portals rendering test</title>
+<body>
+ <div style="background-color: green; width: 100px; height: 100px">
+</body>
diff --git a/tests/wpt/web-platform-tests/portals/resources/portals-rendering-portal.html b/tests/wpt/web-platform-tests/portals/resources/portals-rendering-portal.html
new file mode 100644
index 00000000000..1b6f23f512d
--- /dev/null
+++ b/tests/wpt/web-platform-tests/portals/resources/portals-rendering-portal.html
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<body style="background-color: green">
+ <script>
+ window.requestAnimationFrame(function(ts) {
+ var bc = new BroadcastChannel('portal');
+ bc.postMessage('loaded');
+ bc.close();
+ });
+ </script>
+</body>
diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js
index 926a615e59c..8b7a1e2d98e 100644
--- a/tests/wpt/web-platform-tests/resources/idlharness.js
+++ b/tests/wpt/web-platform-tests/resources/idlharness.js
@@ -2309,21 +2309,6 @@ IdlInterface.prototype.do_member_operation_asserts = function(memberHolderObject
}
}
-IdlInterface.prototype.add_iterable_members = function(member)
-{
- this.members.push(new IdlInterfaceMember(
- { type: "operation", name: "entries", idlType: "iterator", arguments: []}));
- this.members.push(new IdlInterfaceMember(
- { type: "operation", name: "keys", idlType: "iterator", arguments: []}));
- this.members.push(new IdlInterfaceMember(
- { type: "operation", name: "values", idlType: "iterator", arguments: []}));
- this.members.push(new IdlInterfaceMember(
- { type: "operation", name: "forEach", idlType: "void",
- arguments:
- [{ name: "callback", idlType: {idlType: "function"}},
- { name: "thisValue", idlType: {idlType: "any"}, optional: true}]}));
-};
-
IdlInterface.prototype.test_to_json_operation = function(memberHolderObject, member) {
var instanceName = memberHolderObject && memberHolderObject.constructor.name
|| member.name + " object";
@@ -2351,27 +2336,29 @@ IdlInterface.prototype.test_to_json_operation = function(memberHolderObject, mem
IdlInterface.prototype.test_member_iterable = function(member)
{
- var isPairIterator = member.idlType.length === 2;
subsetTestByKey(this.name, test, function()
{
- var descriptor = Object.getOwnPropertyDescriptor(this.get_interface_object().prototype, Symbol.iterator);
- assert_true(descriptor.writable, "property should be writable");
- assert_true(descriptor.configurable, "property should be configurable");
- assert_false(descriptor.enumerable, "property should not be enumerable");
- assert_equals(this.get_interface_object().prototype[Symbol.iterator].name, isPairIterator ? "entries" : "values", "@@iterator function does not have the right name");
- }.bind(this), "Testing Symbol.iterator property of iterable interface " + this.name);
-
- if (isPairIterator) {
- subsetTestByKey(this.name, test, function() {
- assert_equals(this.get_interface_object().prototype[Symbol.iterator], this.get_interface_object().prototype["entries"], "entries method is not the same as @@iterator");
- }.bind(this), "Testing pair iterable interface " + this.name);
- } else {
- subsetTestByKey(this.name, test, function() {
- ["entries", "keys", "values", "forEach", Symbol.Iterator].forEach(function(property) {
- assert_equals(this.get_interface_object().prototype[property], Array.prototype[property], property + " function is not the same as Array one");
+ var isPairIterator = member.idlType.length === 2;
+ var proto = this.get_interface_object().prototype;
+ var descriptor = Object.getOwnPropertyDescriptor(proto, Symbol.iterator);
+
+ assert_true(descriptor.writable, "@@iterator property should be writable");
+ assert_true(descriptor.configurable, "@@iterator property should be configurable");
+ assert_false(descriptor.enumerable, "@@iterator property should not be enumerable");
+ assert_equals(typeof descriptor.value, "function", "@@iterator property should be a function");
+ assert_equals(descriptor.value.length, 0, "@@iterator function object length should be 0");
+ assert_equals(descriptor.value.name, isPairIterator ? "entries" : "values", "@@iterator function object should have the right name");
+
+ if (isPairIterator) {
+ assert_equals(proto["entries"], proto[Symbol.iterator], "entries method should be the same as @@iterator method");
+ } else {
+ assert_equals(proto[Symbol.iterator], Array.prototype[Symbol.iterator], "@@iterator method should be the same as Array prototype's");
+ ["entries", "keys", "values", "forEach", Symbol.iterator].forEach(function(property) {
+ var propertyName = property === Symbol.iterator ? "@@iterator" : property;
+ assert_equals(proto[property], Array.prototype[property], propertyName + " method should be the same as Array prototype's");
}.bind(this));
- }.bind(this), "Testing value iterable interface " + this.name);
- }
+ }
+ }.bind(this), this.name + " interface: iterable<" + member.idlType.map(function(t) { return t.idlType; }).join(", ") + ">");
};
IdlInterface.prototype.test_member_stringifier = function(member)
@@ -2440,19 +2427,6 @@ IdlInterface.prototype.test_members = function()
for (var i = 0; i < this.members.length; i++)
{
var member = this.members[i];
- switch (member.type) {
- case "iterable":
- this.add_iterable_members(member);
- break;
- // TODO: add setlike and maplike handling.
- default:
- break;
- }
- }
-
- for (var i = 0; i < this.members.length; i++)
- {
- var member = this.members[i];
if (member.untested) {
continue;
}