Skip to content

Commit e928ec8

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

File tree

6 files changed

+83025
-46448
lines changed

6 files changed

+83025
-46448
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 186fc7c

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

Lines changed: 50 additions & 15 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
---
@@ -58,12 +64,14 @@ elementScroll.html: [fail, Unknown]
5864
elementsFromPoint**: [fail, Not implemented]
5965
getClientRects**: [fail, Not implemented]
6066
interfaces.html: [fail, Depends on Fetch]
67+
matchMedia-display-none-iframe.html: [fail, Not implemented]
6168
matchMedia.xht: [timeout, Not implemented]
6269
matchMediaAddListener.html: [fail, Not implemented]
6370
mouseEvent.html: [fail, Unknown]
6471
negativeMargins.html: [fail, Unknown]
6572
offsetParent_element_test.html: [fail, Unknown]
6673
offsetTopLeftInScrollableParent.html: [fail, Unknown]
74+
outer-svg.html: [fail, clientTop not implemented]
6775
scroll-**: [timeout, Scroll methods not implemented]
6876
scrollIntoView**: [fail, Scroll methods not implemented]
6977
scrollWidthHeight.xht: [fail, Unknown]
@@ -91,12 +99,17 @@ DIR: dom/collections
9199

92100
DIR: dom/events
93101

94-
Event-dispatch-on-disabled-elements.html: [fail, Unknown]
102+
Event-dispatch-handlers-changed.html: [fail, Unknown]
103+
Event-dispatch-listener-order.window.html: [fail, Unknown]
104+
Event-dispatch-on-disabled-elements.html: [timeout, Uses testdriver.js]
105+
Event-isTrusted.any.html: [fail, Unknown]
95106
Event-timestamp-high-resolution.html: [fail, Not implemented]
107+
EventListener-handleEvent.html: [fail, Unknown]
96108
EventListener-incumbent-global-1.sub.html: [timeout, Multi-globals]
97109
EventListener-incumbent-global-2.sub.html: [timeout, Multi-globals]
98110
EventListener-invoke-legacy.html: [timeout, Animation stuff not implemented]
99111
EventTarget-dispatchEvent.html: [fail, We don't support every event interface yet]
112+
document-level-touchmove-event-listener-passive-by-default.html: [timeout, Uses testdriver.js]
100113
event-global-extra.window.html: [timeout, Not implemented]
101114
event-global.html: [fail, Not implemented]
102115
relatedTarget.window.html: [fail, Unknown]
@@ -120,7 +133,7 @@ Document-constructor-svg.svg: [fail, Unknown]
120133
Document-constructor-xml.xml: [fail, Unknown]
121134
Document-constructor.html: [fail, new Document().origin should inherit from current Document]
122135
Document-createElement.html: [fail, Unknown]
123-
Document-createEvent.html: [fail, Unknown]
136+
Document-createEvent.https.html: [fail, We don't support every event interface yet]
124137
Document-getElementById.html: [fail, We cache IDs in insertion order]
125138
Document-importNode.html: [fail, Attr should be a Node, https://github.com/jsdom/jsdom/issues/1641]
126139
Element-closest.html: [fail, :has is not supported (by all major browsers as well)]
@@ -133,6 +146,8 @@ MutationObserver-document.html: [fail, Usage of external scripts doesn't block H
133146
Node-childNodes.html: [fail, Unknown]
134147
Node-contains-xml.xml: [fail, Unknown]
135148
Node-isConnected.html: [fail, Last two tests with <iframe> are failing]
149+
ParentNode-querySelector-All-xht.xht: [fail, ::slotted() pseudo-class is not supported]
150+
ParentNode-querySelector-All.html: [fail, ::slotted() pseudo-class is not supported]
136151
ProcessingInstruction-escapes-1.xhtml: [fail, Unknown]
137152
Text-constructor.html: [fail, Unknown]
138153

@@ -147,8 +162,9 @@ NodeIterator-removal.html: [fail, Unknown]
147162
DIR: domparsing
148163

149164
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]
165+
DOMParser-parseFromString-xml-doctype.html: [fail, saxes doesn't support DTD validation]
151166
DOMParser-parseFromString-xml.html: [fail, needs to get "the active document's URL" which is not possible with one DOMParser shared across all windows]
167+
XMLSerializer-serializeToString.html: [fail, Unknown]
152168
createContextualFragment.html: [fail, Range is not implemented]
153169
innerhtml-05.xhtml: [fail, Unknown]
154170
interfaces.any.html: [fail, Depends on fetch]
@@ -269,6 +285,7 @@ DIR: html/browsers/history/the-location-interface
269285
allow_prototype_cycle_through_location.sub.html: [fail, Unknown]
270286
assign_after_load.html: [timeout, Unknown]
271287
assign_before_load.html: [timeout, Unknown]
288+
document_location.html: [fail, Unknown]
272289
location-pathname-setter-question-mark.html: [timeout, Unknown]
273290
location-protocol-setter-non-broken.html: [fail, Channel Messaging API not implemented]
274291
location-protocol-setter-with-colon.sub.html: [timeout, Unknown]
@@ -308,7 +325,11 @@ auxiliary-browsing-contexts/opener-setter.window.html: [fail, Not implemented]
308325
auxiliary-browsing-contexts/opener.html: [timeout, Unknown]
309326
browsing-context-names/**: [timeout, Not implemented]
310327
browsing-context.html: [fail, Unknown]
328+
embedded-opener-a-form.html: [timeout, Opener not implemented]
329+
embedded-opener-remove-frame.html: [timeout, Opener not implemented]
330+
embedded-opener.html: [timeout, Opener not implemented]
311331
nested-browsing-contexts/frameElement.sub.html: [timeout, Nested browsing contexts for embed/object; cross-origin handling; MessageEvent' source...]
332+
nested-browsing-contexts/name-attribute.window.html: [timeout, Unknown]
312333
nested-browsing-contexts/window-parent-null.html: [fail, Unknown]
313334
nested-browsing-contexts/window-top-null.html: [fail, Unknown]
314335
noreferrer-null-opener.html: [timeout, Unknown]
@@ -348,6 +369,7 @@ DIR: html/dom/elements/elements-in-the-dom
348369

349370
DIR: html/dom/elements/global-attributes
350371

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

422444
---
423445

424-
DIR: html/scripting
425-
426-
---
427-
428446
DIR: html/semantics/disabled-elements
429447

430448
---
@@ -443,6 +461,7 @@ link-rel-attribute.html: [fail, CSS computed style computation]
443461
link-style-error-01.html: [fail, We don't fire error events]
444462
link-style-error-limited-quirks.html: [fail, We don't fire error events]
445463
link-style-error-quirks.html: [fail, We don't fire error events]
464+
stylesheet-not-removed-until-next-stylesheet-loads.html: [fail, Unknown]
446465

447466
---
448467

@@ -478,6 +497,8 @@ formaction.html: [fail, Unknown]
478497

479498
DIR: html/semantics/forms/constraints
480499

500+
form-validation-validity-patternMismatch.html: [fail, https://github.com/jsdom/jsdom/pull/2571]
501+
481502
---
482503

483504
DIR: html/semantics/forms/form-control-infrastructure
@@ -571,6 +592,8 @@ option-text-recurse.html: [fail, Our impl is wrong; see comments in HTMLOptionEl
571592

572593
DIR: html/semantics/forms/the-output-element
573594

595+
mutations.window.html: [fail, Needs to reflect changes made in https://github.com/whatwg/html/pull/4447]
596+
574597
---
575598

576599
DIR: html/semantics/forms/the-progress-element
@@ -605,8 +628,13 @@ DIR: html/semantics/interactive-elements/the-summary-element
605628
DIR: html/semantics/links
606629

607630
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]
631+
links-created-by-a-and-area-elements/htmlanchorelement_noopener.html: [timeout, noopener is not supported]
632+
links-created-by-a-and-area-elements/target_blank_implicit_noopener.html: [fail, Depends on BroadcastChannel]
633+
links-created-by-a-and-area-elements/target_blank_implicit_noopener_base.html: [fail, Depends on BroadcastChannel]
634+
635+
---
636+
637+
DIR: html/semantics/scripting-1/the-noscript-element
610638

611639
---
612640

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

811839
DIR: html/webappapis/system-state-and-capabilities/the-navigator-object
812840

841+
navigator_user_agent.tentative.https.html: [fail, Not implemented]
813842
protocol.https.html: [fail, registerProtocolHandler() is not implemented]
814843

815844
---
@@ -826,6 +855,7 @@ Element-interface-attachShadow-custom-element.html: [fail, CustomElement.define
826855
MouseEvent-prototype-offsetX-offsetY.html: [fail, offsetTop not implemented]
827856
Range-prototype-insertNode.html: [fail, Range is not implemented]
828857
ShadowRoot-interface.html: [fail, shadowRoot.styleSheet and shadowRoot.activeElement are not yet implemented]
858+
capturing-and-bubbling-event-listeners-across-shadow-trees.html: [fail, Unknown]
829859
event-dispatch-order.tentative.html: [fail, Unknown]
830860
form-control-form-attribute.html: [fail, Form association doesn't respect the spec]
831861
leaktests/html-collection.html: [fail, Document.all is not implemented]
@@ -840,7 +870,7 @@ untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-004
840870
untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-006.html: [fail, Range is not implemented]
841871
untriaged/elements-and-dom-objects/shadowroot-object/shadowroot-methods/test-007.html: [fail, Range is not implemented]
842872
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]
873+
untriaged/html-elements-in-shadow-trees/html-forms/test-003.html: [timeout, HTMLFormElement.submit is not implemented]
844874
untriaged/html-elements-in-shadow-trees/inert-html-elements/test-001.html: [fail, Unknown]
845875
untriaged/shadow-trees/upper-boundary-encapsulation/dom-tree-accessors-001.html: [fail, Document.all is not implemented]
846876
untriaged/styles/test-001.html: [fail, offsetTop not implemented]
@@ -857,10 +887,13 @@ untriaged/user-interaction/ranges-and-selections/test-002.html: [fail, Range is
857887

858888
DIR: uievents
859889

890+
click/auxclick_event.html: [timeout, Uses testdriver.js]
891+
click/click_event_target.html: [timeout, Uses testdriver.js]
892+
click/mouse-dblclick-event.html: [timeout, Uses testdriver.js]
860893
idlharness.window.html: [fail, Depends on fetch]
861894
legacy-domevents-tests/approved/ProcessingInstruction.DOMCharacterDataModified.html: [timeout, Unknown]
862895
legacy-domevents-tests/approved/domnodeinserted.html: [timeout, Unknown]
863-
mouse/mouse_buttons_back_forward.html: [timeout, Unknown]
896+
mouse/mouse_buttons_back_forward.html: [timeout, Uses testdriver.js]
864897
order-of-events/**: [timeout, Unknown]
865898

866899
---
@@ -896,10 +929,12 @@ DIR: webstorage
896929

897930
event_no_duplicates.html: [needs-node11, Earlier Node.js timers did not match browser behaviour, https://github.com/nodejs/node/pull/22842]
898931
idlharness.window.html: [fail, Depends on fetch]
932+
set.window.html: [fail, Unknown]
899933
storage_local_window_open.html: [timeout, Depends on window.open()]
900934
storage_session_window_noopener.html: [fail, Depends on BroadcastChannel]
901935
storage_session_window_open.html: [timeout, Depends on window.open()]
902936
storage_string_conversion.html: [needs-node10, function.toString() does not use correct formatting in earlier versions, https://github.com/nodejs/node/issues/20459]
937+
symbol-props.window.html: [fail, Unknown]
903938

904939
---
905940

@@ -908,7 +943,6 @@ DIR: xhr
908943
abort-after-stop.htm: [fail, https://github.com/w3c/web-platform-tests/issues/6942]
909944
abort-during-loading.htm: [fail, Unknown]
910945
access-control-basic-allow-preflight-cache.htm: [fail, Unknown]
911-
access-control-basic-cors-safelisted-request-headers.htm: [fail, Unknown]
912946
access-control-basic-non-cors-safelisted-content-type.htm: [fail, Unknown]
913947
access-control-basic-post-with-non-cors-safelisted-content-type.htm: [fail, Unknown]
914948
access-control-preflight-async-method-denied.htm: [fail, Unknown]
@@ -925,7 +959,7 @@ anonymous-mode-unsupported.htm: [fail, need way to set cookie header with origin
925959
close-worker-with-xhr-in-progress.html: [fail, Needs Worker implementation]
926960
data-uri.htm: [fail, Unknown]
927961
event-error-order.sub.html: [fail, Unknown]
928-
event-timeout-order.htm: [fail, Unknown]
962+
event-timeout-order.any.html: [fail, Unknown]
929963
formdata.htm: [fail, FormDataEvent is not implemented]
930964
getallresponseheaders.htm: [fail, Unknown]
931965
getresponseheader.any.html: [fail, Unknown]
@@ -973,5 +1007,6 @@ send-sync-response-event-order.htm: [fail-slow, not sure; sync is special]
9731007
setrequestheader-content-type.htm: [fail-slow, we don't implement ReadableStream; also unsure we can get request() to send no content-type for ArrayBuffer]
9741008
status-basic.htm: [timeout, https://github.com/tmpvar/jsdom/issues/1833]
9751009
sync-no-progress.any.html: [fail, Unknown]
976-
xmlhttprequest-sync-default-feature-policy.sub.html: [timeout, we don't support Feature Policy]
1010+
sync-xhr-supported-by-feature-policy.html: [fail, We don't support Feature Policy]
1011+
xmlhttprequest-sync-default-feature-policy.sub.html: [timeout, We don't support Feature Policy]
9771012
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)