summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoshiya Hinosawa <stibium121@gmail.com>2021-05-25 22:35:17 +0900
committerBert Belder <bertbelder@gmail.com>2021-05-31 16:37:34 +0200
commit323fa5272db8f70e543507e7aaa24e2a19e090ac (patch)
tree2cd22e5212fca5c4bb9fa401c29a5d7158fb015b
parent18a02c0f7923a9d23c6dc5ac1c3a0dfe03d03f10 (diff)
fix(extension/file): update File constructor following the spec (#10760)
-rw-r--r--cli/tests/unit/file_test.ts4
-rw-r--r--extensions/file/01_file.js2
-rw-r--r--tools/wpt/expectation.json37
-rw-r--r--tools/wpt/testharnessreport.js9
4 files changed, 23 insertions, 29 deletions
diff --git a/cli/tests/unit/file_test.ts b/cli/tests/unit/file_test.ts
index f1db0d496..f4bb0bb4d 100644
--- a/cli/tests/unit/file_test.ts
+++ b/cli/tests/unit/file_test.ts
@@ -88,10 +88,6 @@ unitTest(function fileUsingFileName(): void {
testSecondArgument("dummy", "dummy");
});
-unitTest(function fileUsingSpecialCharacterInFileName(): void {
- testSecondArgument("dummy/foo", "dummy:foo");
-});
-
unitTest(function fileUsingNullFileName(): void {
testSecondArgument(null, "null");
});
diff --git a/extensions/file/01_file.js b/extensions/file/01_file.js
index cbbf98e7d..c34561b5e 100644
--- a/extensions/file/01_file.js
+++ b/extensions/file/01_file.js
@@ -371,7 +371,7 @@
super(fileBits, options);
/** @type {string} */
- this[_Name] = fileName.replaceAll("/", ":");
+ this[_Name] = fileName;
if (options.lastModified === undefined) {
/** @type {number} */
this[_LastModfied] = new Date().getTime();
diff --git a/tools/wpt/expectation.json b/tools/wpt/expectation.json
index 4d6016104..7843eefc6 100644
--- a/tools/wpt/expectation.json
+++ b/tools/wpt/expectation.json
@@ -374,7 +374,6 @@
"getReader({mode: \"byob\"}) throws on non-bytes streams",
"ReadableStream with byte source can be constructed with no errors",
"getReader({mode}) must perform ToString()",
- "ReadableStream with byte source: autoAllocateChunkSize cannot be 0",
"ReadableStreamBYOBReader can be constructed directly",
"ReadableStreamBYOBReader constructor requires a ReadableStream argument",
"ReadableStreamBYOBReader constructor requires an unlocked ReadableStream",
@@ -483,7 +482,6 @@
"writable-streams": {
"aborting.any.html": false,
"bad-strategies.any.html": [
- "reject any non-function value for strategy.size",
"Writable stream: invalid size beats invalid highWaterMark"
],
"bad-underlying-sinks.any.html": true,
@@ -491,8 +489,6 @@
"close.any.html": false,
"constructor.any.html": [
"underlyingSink argument should be converted after queuingStrategy argument",
- "WritableStreamDefaultController constructor should throw",
- "WritableStreamDefaultController constructor should throw when passed an initialised WritableStream",
"WritableStreamDefaultWriter should throw unless passed a WritableStream"
],
"count-queuing-strategy.any.html": true,
@@ -522,9 +518,7 @@
"Performance interface: operation mark(DOMString, optional PerformanceMarkOptions)",
"Performance interface: operation clearMarks(optional DOMString)",
"Performance interface: operation measure(DOMString, optional (DOMString or PerformanceMeasureOptions), optional DOMString)",
- "Performance interface: operation clearMeasures(optional DOMString)",
- "Performance interface: calling mark(DOMString, optional PerformanceMarkOptions) on performance with too few arguments must throw TypeError",
- "Performance interface: calling measure(DOMString, optional (DOMString or PerformanceMeasureOptions), optional DOMString) on performance with too few arguments must throw TypeError"
+ "Performance interface: operation clearMeasures(optional DOMString)"
],
"mark-entry-constructor.any.html": true,
"mark-errors.any.html": true,
@@ -583,7 +577,10 @@
"toString.any.html": true,
"type.tentative.any.html": false,
"constructor-shared.tentative.any.html": true,
- "constructor-types.tentative.any.html": false
+ "constructor-types.tentative.any.html": [
+ "Zero minimum",
+ "Non-zero minimum"
+ ]
},
"module": {
"constructor.any.html": true,
@@ -603,10 +600,12 @@
"toString.any.html": true,
"constructor-reftypes.tentative.any.html": [
"initialize externref table with default value",
- "initialize anyfunc table with default value",
- "initialize anyfunc table with a bad default value"
+ "initialize anyfunc table with default value"
+ ],
+ "constructor-types.tentative.any.html": [
+ "Zero minimum",
+ "Non-zero minimum"
],
- "constructor-types.tentative.any.html": false,
"grow-reftypes.tentative.any.html": false,
"set-reftypes.tentative.any.html": false,
"type.tentative.any.html": false
@@ -670,6 +669,7 @@
"URL interface: attribute searchParams",
"URL interface: attribute hash",
"URL interface: operation toJSON()",
+ "URL interface: legacy window alias",
"Stringification of new URL(\"http://foo\")",
"URLSearchParams interface: operation append(USVString, USVString)",
"URLSearchParams interface: operation delete(USVString)",
@@ -683,12 +683,6 @@
"Stringification of new URLSearchParams(\"hi=there&thank=you\")"
],
"url-constructor.any.html": [
- "Parsing: <file://%43%7C> against <about:blank>",
- "Parsing: <file://%43|> against <about:blank>",
- "Parsing: <file://C%7C> against <about:blank>",
- "Parsing: <file://%43%7C/> against <about:blank>",
- "Parsing: <https://%43%7C/> against <about:blank>",
- "Parsing: <asdf://%43|/> against <about:blank>",
"Parsing: </> against <file://h/C:/a/b>",
"Parsing: <file:\\\\//> against <about:blank>",
"Parsing: <file:\\\\\\\\> against <about:blank>",
@@ -779,11 +773,7 @@
"api": {
"request": {
"request-init-002.any.html": true,
- "request-init-stream.any.html": [
- "Constructing a Request with a Request on which body.getReader() is called",
- "Constructing a Request with a Request on which body.getReader().read() is called",
- "Constructing a Request with a Request on which read() and releaseLock() are called"
- ],
+ "request-init-stream.any.html": true,
"request-consume-empty.any.html": [
"Consume empty FormData request body as text"
],
@@ -979,7 +969,6 @@
"Response interface: operation formData()",
"Response interface: operation json()",
"Response interface: operation text()",
- "Response interface: calling redirect(USVString, optional unsigned short) on new Response() with too few arguments must throw TypeError",
"Window interface: operation fetch(RequestInfo, optional RequestInit)"
]
},
@@ -1110,4 +1099,4 @@
"set.any.html": true
}
}
-} \ No newline at end of file
+}
diff --git a/tools/wpt/testharnessreport.js b/tools/wpt/testharnessreport.js
index d3e783376..b1852a488 100644
--- a/tools/wpt/testharnessreport.js
+++ b/tools/wpt/testharnessreport.js
@@ -13,3 +13,12 @@ window.add_result_callback(({ message, name, stack, status }) => {
window.add_completion_callback((_tests, _harnessStatus) => {
Deno.exit(0);
});
+
+globalThis.document = {
+ // document.body shim for FileAPI/file/File-constructor.any.html test
+ body: {
+ toString() {
+ return "[object HTMLBodyElement]";
+ },
+ },
+};