Skip to content

Commit 7dd8f18

Browse files
committed
Roll Web Platform Tests
1 parent 43f2089 commit 7dd8f18

File tree

6 files changed

+80827
-45967
lines changed

6 files changed

+80827
-45967
lines changed

test/web-platform-tests/run-tuwpts.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ const manifestFilename = path.resolve(__dirname, "tuwpt-manifest.json");
1212
// We can afford to re-generate the manifest each time; we have few enough files that it's cheap.
1313
const testsRootArg = path.relative(wptPath, testsPath);
1414
const pathArg = path.relative(wptPath, manifestFilename);
15-
const args = ["./wpt.py", "manifest", "--tests-root", testsRootArg, "--path", pathArg, "--work"];
15+
const args = ["./wpt.py", "manifest", "--tests-root", testsRootArg, "--path", pathArg];
1616
spawnSync("python", args, { cwd: wptPath, stdio: "inherit" });
1717

1818
const manifest = readManifest(manifestFilename);

test/web-platform-tests/run-wpts.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const fs = require("fs");
44
const jsYAML = require("js-yaml");
55
const { Minimatch } = require("minimatch");
66
const { describe, specify, before } = require("mocha-sugar-free");
7-
const { readManifest, getPossibleTestFilePaths, stripPrefix } = require("./wpt-manifest-utils.js");
7+
const { readManifest, getPossibleTestFilePaths } = require("./wpt-manifest-utils.js");
88
const startWPTServer = require("./start-wpt-server.js");
99

1010
const validReasons = new Set([
@@ -50,7 +50,7 @@ describe("web-platform-tests", () => {
5050
return matcher.match(testFilePath);
5151
});
5252

53-
const testFile = stripPrefix(testFilePath, toRunDoc.DIR + "/");
53+
const testFile = testFilePath.slice((toRunDoc.DIR + "/").length);
5454
const reason = matchingPattern && toRunDoc[matchingPattern][0];
5555
const shouldSkip = ["fail-slow", "timeout", "flaky", "mutates-globals"].includes(reason);
5656
const expectFail = (reason === "fail") ||

test/web-platform-tests/tests

Submodule tests updated from 0f31ab1 to 789f5f1

test/web-platform-tests/to-run.yaml

Lines changed: 45 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
DIR: FileAPI
22

33
FileReader/workers.html: [fail, Needs Worker implementation]
4+
blob/Blob-array-buffer.any.html: [fail, Depends on TextEncoder]
45
blob/Blob-constructor.html: [fail, "- Blob is not a function
56
- a date is not instanceof Date
67
- a regexp is not instanceof Regexp
78
- strange v8 behaviour when error triggered in overridden array length
89
- HTMLSelectElement does not have indexed properties
910
- MessageChannel not implemented
1011
- element attributes does not have indexed properties"]
12+
blob/Blob-stream.any.html: [fail, Unknown]
13+
blob/Blob-text.any.html: [fail, Depends on TextEncoder]
1114
file/send-file-form*: [fail, DataTransfer not implemented]
1215
filelist-section/filelist.html: [fail, function is not instanceof Function]
1316
historical.https.html: [fail, Needs Service Worker implementation]
@@ -21,7 +24,9 @@ DIR: cors
2124

2225
304.htm: [fail-slow, Unknown]
2326
access-control-expose-headers-parsing.window.html: [fail, Depends on fetch]
24-
client-hint-request-headers.htm: [fail-slow, Not implemented]
27+
basic.htm: [fail, Unknown]
28+
client-hint-request-headers-2.tentative.htm: [fail, Client Hints not implemented]
29+
client-hint-request-headers.htm: [fail-slow, Client Hints not implemented]
2530
cors-safelisted-request-header.any.html: [fail, Depends on fetch]
2631
credentials-flag.htm: [fail, Unknown]
2732
image-tainting-in-cross-origin-iframe.sub.html: [timeout, Unknown]
@@ -30,6 +35,7 @@ preflight-cache.htm: [timeout, Cache should probably be implemented for simple r
3035
redirect-preflight-2.htm: [fail, Preflight should also be done before redirected requests but request module redirects cannot be paused while doing preflight]
3136
remote-origin.htm: [timeout, postMessage event does not contain source]
3237
response-headers.htm: [timeout, I don't find a spec about combining same value response headers; also https://github.com/tmpvar/jsdom/issues/1833]
38+
simple-requests-ch.tentative.htm: [fail, Client Hints not implemented]
3339
simple-requests.htm: [timeout, Maybe https://github.com/tmpvar/jsdom/issues/1833 but it fails locally too]
3440

3541
---
@@ -91,12 +97,17 @@ DIR: dom/collections
9197

9298
DIR: dom/events
9399

94-
Event-dispatch-on-disabled-elements.html: [fail, Unknown]
100+
Event-dispatch-handlers-changed.html: [fail, Unknown]
101+
Event-dispatch-listener-order.window.html: [fail, Unknown]
102+
Event-dispatch-on-disabled-elements.html: [timeout, Uses testdriver.js]
103+
Event-isTrusted.any.html: [fail, Unknown]
95104
Event-timestamp-high-resolution.html: [fail, Not implemented]
105+
EventListener-handleEvent.html: [fail, Unknown]
96106
EventListener-incumbent-global-1.sub.html: [timeout, Multi-globals]
97107
EventListener-incumbent-global-2.sub.html: [timeout, Multi-globals]
98108
EventListener-invoke-legacy.html: [timeout, Animation stuff not implemented]
99109
EventTarget-dispatchEvent.html: [fail, We don't support every event interface yet]
110+
document-level-touchmove-event-listener-passive-by-default.html: [timeout, Uses testdriver.js]
100111
event-global-extra.window.html: [timeout, Not implemented]
101112
event-global.html: [fail, Not implemented]
102113
relatedTarget.window.html: [fail, Unknown]
@@ -120,7 +131,7 @@ Document-constructor-svg.svg: [fail, Unknown]
120131
Document-constructor-xml.xml: [fail, Unknown]
121132
Document-constructor.html: [fail, new Document().origin should inherit from current Document]
122133
Document-createElement.html: [fail, Unknown]
123-
Document-createEvent.html: [fail, Unknown]
134+
Document-createEvent.https.html: [fail, We don't support every event interface yet]
124135
Document-getElementById.html: [fail, We cache IDs in insertion order]
125136
Document-importNode.html: [fail, Attr should be a Node, https://github.com/jsdom/jsdom/issues/1641]
126137
Element-closest.html: [fail, :has is not supported (by all major browsers as well)]
@@ -133,6 +144,8 @@ MutationObserver-document.html: [fail, Usage of external scripts doesn't block H
133144
Node-childNodes.html: [fail, Unknown]
134145
Node-contains-xml.xml: [fail, Unknown]
135146
Node-isConnected.html: [fail, Last two tests with <iframe> are failing]
147+
ParentNode-querySelector-All-xht.xht: [fail, ::slotted() pseudo-class is not supported]
148+
ParentNode-querySelector-All.html: [fail, ::slotted() pseudo-class is not supported]
136149
ProcessingInstruction-escapes-1.xhtml: [fail, Unknown]
137150
Text-constructor.html: [fail, Unknown]
138151

@@ -147,8 +160,9 @@ NodeIterator-removal.html: [fail, Unknown]
147160
DIR: domparsing
148161

149162
DOMParser-parseFromString-html.html: [fail, needs to get "the active document's URL" which is not possible with one DOMParser shared across all windows]
150-
DOMParser-parseFromString-xml-doctype.html: [fail, saxes doesn't support DTD validation]
163+
DOMParser-parseFromString-xml-doctype.html: [fail, saxes doesn't support DTD validation]
151164
DOMParser-parseFromString-xml.html: [fail, needs to get "the active document's URL" which is not possible with one DOMParser shared across all windows]
165+
XMLSerializer-serializeToString.html: [fail, Unknown]
152166
createContextualFragment.html: [fail, Range is not implemented]
153167
innerhtml-05.xhtml: [fail, Unknown]
154168
interfaces.any.html: [fail, Depends on fetch]
@@ -269,6 +283,7 @@ DIR: html/browsers/history/the-location-interface
269283
allow_prototype_cycle_through_location.sub.html: [fail, Unknown]
270284
assign_after_load.html: [timeout, Unknown]
271285
assign_before_load.html: [timeout, Unknown]
286+
document_location.html: [fail, Unknown]
272287
location-pathname-setter-question-mark.html: [timeout, Unknown]
273288
location-protocol-setter-non-broken.html: [fail, Channel Messaging API not implemented]
274289
location-protocol-setter-with-colon.sub.html: [timeout, Unknown]
@@ -308,7 +323,11 @@ auxiliary-browsing-contexts/opener-setter.window.html: [fail, Not implemented]
308323
auxiliary-browsing-contexts/opener.html: [timeout, Unknown]
309324
browsing-context-names/**: [timeout, Not implemented]
310325
browsing-context.html: [fail, Unknown]
326+
embedded-opener-a-form.html: [timeout, Opener not implemented]
327+
embedded-opener-remove-frame.html: [timeout, Opener not implemented]
328+
embedded-opener.html: [timeout, Opener not implemented]
311329
nested-browsing-contexts/frameElement.sub.html: [timeout, Nested browsing contexts for embed/object; cross-origin handling; MessageEvent' source...]
330+
nested-browsing-contexts/name-attribute.window.html: [timeout, Unknown]
312331
nested-browsing-contexts/window-parent-null.html: [fail, Unknown]
313332
nested-browsing-contexts/window-top-null.html: [fail, Unknown]
314333
noreferrer-null-opener.html: [timeout, Unknown]
@@ -348,6 +367,7 @@ DIR: html/dom/elements/elements-in-the-dom
348367

349368
DIR: html/dom/elements/global-attributes
350369

370+
dataset-binding.window.html: [fail, Unknown]
351371
dataset-prototype.html: [fail, Tests Object.prototype which jsdom has trouble with due to VM globals]
352372
dataset-set.html: [fail, Buggy(?) test for \uF900]
353373
the-lang-attribute-001.html: [fail, Unknown]
@@ -421,10 +441,6 @@ the-marquee-element-0/marquee-scrolldelay.html: [fail, <marquee> is not implemen
421441

422442
---
423443

424-
DIR: html/scripting
425-
426-
---
427-
428444
DIR: html/semantics/disabled-elements
429445

430446
---
@@ -443,6 +459,7 @@ link-rel-attribute.html: [fail, CSS computed style computation]
443459
link-style-error-01.html: [fail, We don't fire error events]
444460
link-style-error-limited-quirks.html: [fail, We don't fire error events]
445461
link-style-error-quirks.html: [fail, We don't fire error events]
462+
stylesheet-not-removed-until-next-stylesheet-loads.html: [fail, Unknown]
446463

447464
---
448465

@@ -571,6 +588,8 @@ option-text-recurse.html: [fail, Our impl is wrong; see comments in HTMLOptionEl
571588

572589
DIR: html/semantics/forms/the-output-element
573590

591+
mutations.window.html: [fail, Needs to reflect changes made in https://github.com/whatwg/html/pull/4447]
592+
574593
---
575594

576595
DIR: html/semantics/forms/the-progress-element
@@ -605,8 +624,13 @@ DIR: html/semantics/interactive-elements/the-summary-element
605624
DIR: html/semantics/links
606625

607626
following-hyperlinks/activation-behavior.window.html: [fail, We don't support navigating to new locations]
608-
links-created-by-a-and-area-elements/htmlanchorelement_noopener.html: [timeout, Unknown]
609-
links-created-by-a-and-area-elements/target_blank_implicit_noopener.tentative.html: [fail, Depends on BroadcastChannel]
627+
links-created-by-a-and-area-elements/htmlanchorelement_noopener.html: [timeout, noopener is not supported]
628+
links-created-by-a-and-area-elements/target_blank_implicit_noopener.html: [fail, Depends on BroadcastChannel]
629+
links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html: [fail, Depends on BroadcastChannel]
630+
631+
---
632+
633+
DIR: html/semantics/scripting-1/the-noscript-element
610634

611635
---
612636

@@ -810,6 +834,7 @@ messageevent-constructor.https.html: [fail, uses MessageChannel]
810834

811835
DIR: html/webappapis/system-state-and-capabilities/the-navigator-object
812836

837+
navigator_user_agent.tentative.https.html: [fail, Not implemented]
813838
protocol.https.html: [fail, registerProtocolHandler() is not implemented]
814839

815840
---
@@ -826,6 +851,7 @@ Element-interface-attachShadow-custom-element.html: [fail, CustomElement.define
826851
MouseEvent-prototype-offsetX-offsetY.html: [fail, offsetTop not implemented]
827852
Range-prototype-insertNode.html: [fail, Range is not implemented]
828853
ShadowRoot-interface.html: [fail, shadowRoot.styleSheet and shadowRoot.activeElement are not yet implemented]
854+
capturing-and-bubbling-event-listeners-across-shadow-trees.html: [fail, Unknown]
829855
event-dispatch-order.tentative.html: [fail, Unknown]
830856
form-control-form-attribute.html: [fail, Form association doesn't respect the spec]
831857
leaktests/html-collection.html: [fail, Document.all is not implemented]
@@ -840,7 +866,7 @@ untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004
840866
untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html: [fail, Range is not implemented]
841867
untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html: [fail, Range is not implemented]
842868
untriaged/events/event-dispatch/test-003.html: [timeout, Iframe related timeout issue]
843-
untriaged/html-elements-in-shadow-trees/html-forms/test-003.html: [fail, HTMLFormElemement.submit is not implemented]
869+
untriaged/html-elements-in-shadow-trees/html-forms/test-003.html: [timeout, HTMLFormElement.submit is not implemented]
844870
untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html: [fail, Unknown]
845871
untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html: [fail, Document.all is not implemented]
846872
untriaged/styles/test-001.html: [fail, offsetTop not implemented]
@@ -857,10 +883,13 @@ untriaged/user-interaction/ranges-and-selections/test-002.html: [fail, Range is
857883

858884
DIR: uievents
859885

886+
click/auxclick_event.html: [timeout, Uses testdriver.js]
887+
click/click_event_target.html: [timeout, Uses testdriver.js]
888+
click/mouse-dblclick-event.html: [timeout, Uses testdriver.js]
860889
idlharness.window.html: [fail, Depends on fetch]
861890
legacy-domevents-tests/approved/ProcessingInstruction.DOMCharacterDataModified.html: [timeout, Unknown]
862891
legacy-domevents-tests/approved/domnodeinserted.html: [timeout, Unknown]
863-
mouse/mouse_buttons_back_forward.html: [timeout, Unknown]
892+
mouse/mouse_buttons_back_forward.html: [timeout, Uses testdriver.js]
864893
order-of-events/**: [timeout, Unknown]
865894

866895
---
@@ -896,10 +925,12 @@ DIR: webstorage
896925

897926
event_no_duplicates.html: [needs-node11, Earlier Node.js timers did not match browser behaviour, https://github.com/nodejs/node/pull/22842]
898927
idlharness.window.html: [fail, Depends on fetch]
928+
set.window.html: [fail, Unknown]
899929
storage_local_window_open.html: [timeout, Depends on window.open()]
900930
storage_session_window_noopener.html: [fail, Depends on BroadcastChannel]
901931
storage_session_window_open.html: [timeout, Depends on window.open()]
902932
storage_string_conversion.html: [needs-node10, function.toString() does not use correct formatting in earlier versions, https://github.com/nodejs/node/issues/20459]
933+
symbol-props.window.html: [fail, Unknown]
903934

904935
---
905936

@@ -908,7 +939,6 @@ DIR: xhr
908939
abort-after-stop.htm: [fail, https://github.com/w3c/web-platform-tests/issues/6942]
909940
abort-during-loading.htm: [fail, Unknown]
910941
access-control-basic-allow-preflight-cache.htm: [fail, Unknown]
911-
access-control-basic-cors-safelisted-request-headers.htm: [fail, Unknown]
912942
access-control-basic-non-cors-safelisted-content-type.htm: [fail, Unknown]
913943
access-control-basic-post-with-non-cors-safelisted-content-type.htm: [fail, Unknown]
914944
access-control-preflight-async-method-denied.htm: [fail, Unknown]
@@ -973,5 +1003,6 @@ send-sync-response-event-order.htm: [fail-slow, not sure; sync is special]
9731003
setrequestheader-content-type.htm: [fail-slow, we don't implement ReadableStream; also unsure we can get request() to send no content-type for ArrayBuffer]
9741004
status-basic.htm: [timeout, https://github.com/tmpvar/jsdom/issues/1833]
9751005
sync-no-progress.any.html: [fail, Unknown]
976-
xmlhttprequest-sync-default-feature-policy.sub.html: [timeout, we don't support Feature Policy]
1006+
sync-xhr-supported-by-feature-policy.html: [fail, We don't support Feature Policy]
1007+
xmlhttprequest-sync-default-feature-policy.sub.html: [timeout, We don't support Feature Policy]
9771008
xmlhttprequest-timeout-**: [timeout, Needs Worker implementation / Unknown]

test/web-platform-tests/wpt-manifest-utils.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22
const fs = require("fs");
33

4-
const EXPECTED_MANIFEST_VERSION = 5;
4+
const EXPECTED_MANIFEST_VERSION = 6;
55

66
exports.getPossibleTestFilePaths = manifest => {
77
const testharnessTests = manifest.items.testharness;
@@ -17,15 +17,13 @@ exports.getPossibleTestFilePaths = manifest => {
1717
continue;
1818
}
1919

20-
allPaths.push(exports.stripPrefix(testFilePath, "/"));
20+
allPaths.push(testFilePath);
2121
}
2222
}
2323

2424
return allPaths;
2525
};
2626

27-
exports.stripPrefix = (string, prefix) => string.substring(prefix.length);
28-
2927
exports.readManifest = filename => {
3028
const manifestString = fs.readFileSync(filename, { encoding: "utf-8" });
3129
const manifest = JSON.parse(manifestString);

0 commit comments

Comments
 (0)