diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json index 4b9673764c0c..38a655726e38 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 000000000000..2145b0439699 --- /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 bb52daa7836e..8c545cb7ac27 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 000000000000..3761c50b9bca --- /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 7d5a55318d54..b94d68781c37 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] + expected: FAIL + + [NodeList interface: iterable] + 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 8e4b3a6eb4a7..27f22f91b7d1 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 73f5bb7ec462..c3672054666a 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] + 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] + 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 87b07c3e6704..000000000000 --- 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 similarity index 71% rename from tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_4.html.ini rename to tests/wpt/metadata/html/browsers/history/the-history-interface/traverse_the_history_5.html.ini index 385376c7321e..dc2e45516deb 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 772148dc71fa..3352221fdd7f 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 42b4bda72841..590af74cd85d 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 99a24216c88b..7725b118e9d9 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 bcc77ddf03d1..70a60c1c2617 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] + expected: FAIL + [idlharness.any.worker.html] [idlharness] @@ -15,3 +18,7 @@ [Testing Symbol.iterator property of iterable interface URLSearchParams] expected: FAIL + + [URLSearchParams interface: iterable] + 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 a56bad443a2d..66bd350083b0 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 268949ced5ce..f584fce5df19 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 b311a445b844..9ca6034a25ce 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] + expected: FAIL + [idlharness.any.sharedworker.html] [idlharness] @@ -24,3 +27,6 @@ [Testing Symbol.iterator property of iterable interface FormData] expected: FAIL + [FormData interface: iterable] + 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 11ed88c3fa21..ea0ca2902c5a 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 @@ -Async Clipboard basic tests +Async Clipboard input type validation tests 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 000000000000..ac7fb0863e75 --- /dev/null +++ b/tests/wpt/web-platform-tests/clipboard-apis/async-write-image-read-image-manual.https.html @@ -0,0 +1,57 @@ + + + + Async Clipboard writeImageExperimental -> readImageExperimental tests + + + + +
Original Image:
+ +
Image after copy/paste:
+ + + + + +

+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. +

+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 000000000000..6e555e3b197c Binary files /dev/null and b/tests/wpt/web-platform-tests/clipboard-apis/resources/greenbox.png 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 000000000000..3e2026958fdd --- /dev/null +++ b/tests/wpt/web-platform-tests/css/css-flexbox/flex-basis-009.html @@ -0,0 +1,42 @@ + + + + + + + + + + + +
+
+ +
+
+ +
+
+ + 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 705a7ca47f87..c6ca45ab1720 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 @@ - - + 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 000000000000..2d9f88474598 --- /dev/null +++ b/tests/wpt/web-platform-tests/css/mediaqueries/prefers-reduced-motion.html @@ -0,0 +1,38 @@ + + + + + + + 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 000000000000..544f68c0400e --- /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 aa838ec8774e..38b6765bb498 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."); diff --git a/tests/wpt/web-platform-tests/interfaces/dom.idl b/tests/wpt/web-platform-tests/interfaces/dom.idl index 503c391102a2..1788faae5207 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; + iterable; }; [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; + iterable; }; diff --git a/tests/wpt/web-platform-tests/interfaces/user-timing.idl b/tests/wpt/web-platform-tests/interfaces/user-timing.idl index 723b063156a0..da8a0acd6738 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 000000000000..39a888366455 --- /dev/null +++ b/tests/wpt/web-platform-tests/mediacapture-record/MediaRecorder-pause-resume.html @@ -0,0 +1,66 @@ + + + + MediaRecorder Pause and Resume + + + + + + + + + + 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 8e05fc5491d8..5dd9aa637305 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"); - \ No newline at end of file + 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 000000000000..8683a38326d9 --- /dev/null +++ b/tests/wpt/web-platform-tests/portals/portals-rendering.html @@ -0,0 +1,16 @@ + + +Portals rendering test + + + + + 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 000000000000..4a8414ab5656 --- /dev/null +++ b/tests/wpt/web-platform-tests/portals/references/portals-rendering.html @@ -0,0 +1,5 @@ + +Portals rendering test + +
+ 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 000000000000..1b6f23f512da --- /dev/null +++ b/tests/wpt/web-platform-tests/portals/resources/portals-rendering-portal.html @@ -0,0 +1,10 @@ + + + + diff --git a/tests/wpt/web-platform-tests/resources/idlharness.js b/tests/wpt/web-platform-tests/resources/idlharness.js index 926a615e59c9..8b7a1e2d98ea 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) @@ -2437,19 +2424,6 @@ IdlInterface.prototype.test_member_stringifier = function(member) 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];