mirror of
https://github.com/servo/servo.git
synced 2025-08-16 10:55:34 +01:00
Update web-platform-tests to revision c12517985bca8a3fafd1d3f4f78df75ea4ea79cf
This commit is contained in:
parent
e2687b5da8
commit
927b34500f
121 changed files with 2408 additions and 255 deletions
|
@ -0,0 +1,24 @@
|
|||
from wptserve.utils import isomorphic_encode
|
||||
|
||||
# Outputs the request body, with controls and non-ASCII bytes escaped
|
||||
# (b"\n" becomes b"\\x0a"), and with backslashes doubled.
|
||||
# As a convenience, CRLF newlines are left as is.
|
||||
|
||||
def escape_byte(byte):
|
||||
if b"\0" <= byte <= b"\x1F" or byte >= b"\x7F":
|
||||
return b"\\x%02x" % ord(byte)
|
||||
if byte == b"\\":
|
||||
return b"\\\\"
|
||||
return byte
|
||||
|
||||
def main(request, response):
|
||||
|
||||
headers = [(b"X-Request-Method", isomorphic_encode(request.method)),
|
||||
(b"X-Request-Content-Length", request.headers.get(b"Content-Length", b"NO")),
|
||||
(b"X-Request-Content-Type", request.headers.get(b"Content-Type", b"NO")),
|
||||
# Avoid any kind of content sniffing on the response.
|
||||
(b"Content-Type", b"text/plain; charset=UTF-8")]
|
||||
|
||||
content = b"".join(map(escape_byte, request.body)).replace(b"\\x0d\\x0a", b"\r\n")
|
||||
|
||||
return headers, content
|
|
@ -0,0 +1,117 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>Upload files named using controls (tentative)</title>
|
||||
<!--
|
||||
NOTE: This test is tentative because encoding for filename
|
||||
control characters is not yet standardized.
|
||||
-->
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data"
|
||||
/>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist"
|
||||
/>
|
||||
<link rel="help" href="https://w3c.github.io/FileAPI/#file-constructor" />
|
||||
<link
|
||||
rel="author"
|
||||
title="Benjamin C. Wiley Sittler"
|
||||
href="mailto:bsittler@chromium.org"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/send-file-form-helper.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-NUL-[\0].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-NUL-[\0].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-BS-[\b].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-BS-[\b].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-VT-[\v].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-VT-[\v].txt",
|
||||
});
|
||||
|
||||
// These have characters that undergo processing in name=,
|
||||
// filename=, and/or value; formPostFileUploadTest postprocesses
|
||||
// expectedEncodedBaseName for these internally.
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LF-[\n].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-LF-[\n].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LF-CR-[\n\r].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-LF-CR-[\n\r].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-CR-[\r].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-CR-[\r].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-CR-LF-[\r\n].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-CR-LF-[\r\n].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-HT-[\t].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-HT-[\t].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-FF-[\f].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-FF-[\f].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-DEL-[\x7F].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-DEL-[\x7F].txt",
|
||||
});
|
||||
|
||||
// The rest should be passed through unmodified:
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-ESC-[\x1B].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-ESC-[\x1B].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-SPACE-[ ].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-SPACE-[ ].txt",
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,230 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>Upload files named using punctuation (tentative)</title>
|
||||
<!--
|
||||
NOTE: This test is tentative because encoding for filename
|
||||
punctuation characters is not yet standardized.
|
||||
-->
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data"
|
||||
/>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist"
|
||||
/>
|
||||
<link rel="help" href="https://w3c.github.io/FileAPI/#file-constructor" />
|
||||
<link
|
||||
rel="author"
|
||||
title="Benjamin C. Wiley Sittler"
|
||||
href="mailto:bsittler@chromium.org"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/send-file-form-helper.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
// These have characters that undergo processing in name=,
|
||||
// filename=, and/or value; formPostFileUploadTest postprocesses
|
||||
// expectedEncodedBaseName for these internally.
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-QUOTATION-MARK-[\x22].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-QUOTATION-MARK-[\x22].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: '"file-for-upload-in-form-double-quoted.txt"',
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: '"file-for-upload-in-form-double-quoted.txt"',
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-REVERSE-SOLIDUS-[\\].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-REVERSE-SOLIDUS-[\\].txt",
|
||||
});
|
||||
|
||||
// The rest should be passed through unmodified:
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-EXCLAMATION-MARK-[!].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-EXCLAMATION-MARK-[!].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-DOLLAR-SIGN-[$].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-DOLLAR-SIGN-[$].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-PERCENT-SIGN-[%].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-PERCENT-SIGN-[%].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-AMPERSAND-[&].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-AMPERSAND-[&].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-APOSTROPHE-['].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-APOSTROPHE-['].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LEFT-PARENTHESIS-[(].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-LEFT-PARENTHESIS-[(].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-RIGHT-PARENTHESIS-[)].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-RIGHT-PARENTHESIS-[)].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-ASTERISK-[*].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-ASTERISK-[*].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-PLUS-SIGN-[+].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-PLUS-SIGN-[+].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-COMMA-[,].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-COMMA-[,].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-FULL-STOP-[.].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-FULL-STOP-[.].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-SOLIDUS-[/].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-SOLIDUS-[/].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-COLON-[:].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-COLON-[:].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-SEMICOLON-[;].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-SEMICOLON-[;].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-EQUALS-SIGN-[=].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-EQUALS-SIGN-[=].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-QUESTION-MARK-[?].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-QUESTION-MARK-[?].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-CIRCUMFLEX-ACCENT-[^].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-CIRCUMFLEX-ACCENT-[^].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LEFT-SQUARE-BRACKET-[[].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-LEFT-SQUARE-BRACKET-[[].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-RIGHT-SQUARE-BRACKET-[]].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-RIGHT-SQUARE-BRACKET-[]].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LEFT-CURLY-BRACKET-[{].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-LEFT-CURLY-BRACKET-[{].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-VERTICAL-LINE-[|].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-VERTICAL-LINE-[|].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-RIGHT-CURLY-BRACKET-[}].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName:
|
||||
"file-for-upload-in-form-RIGHT-CURLY-BRACKET-[}].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-TILDE-[~].txt",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "file-for-upload-in-form-TILDE-[~].txt",
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "'file-for-upload-in-form-single-quoted.txt'",
|
||||
formEncoding: "UTF-8",
|
||||
expectedEncodedBaseName: "'file-for-upload-in-form-single-quoted.txt'",
|
||||
});
|
||||
</script>
|
|
@ -27,35 +27,36 @@ formPostFileUploadTest({
|
|||
fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
|
||||
formEncoding: 'UTF-8',
|
||||
expectedEncodedBaseName: (
|
||||
'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt'),
|
||||
'file-for-upload-in-form-\xEF\x9F\xB0\xEF\x9E\x93\xEF\x9E\x83\xEF\x9E\xA0.txt'),
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: 'windows-1252',
|
||||
fileBaseName: 'file-for-upload-in-form-☺😂.txt',
|
||||
formEncoding: 'UTF-8',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-☺😂.txt',
|
||||
expectedEncodedBaseName: (
|
||||
'file-for-upload-in-form-\xC3\xA2\xCB\x9C\xC2\xBA\xC3\xB0\xC5\xB8\xCB\x9C\xE2\x80\x9A.txt'),
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: 'JIS X 0201 and JIS X 0208',
|
||||
fileBaseName: 'file-for-upload-in-form-★星★.txt',
|
||||
formEncoding: 'UTF-8',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-★星★.txt',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\x85\xE6\x98\x9F\xE2\x98\x85.txt',
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: 'Unicode',
|
||||
fileBaseName: 'file-for-upload-in-form-☺😂.txt',
|
||||
formEncoding: 'UTF-8',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-☺😂.txt',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\xBA\xF0\x9F\x98\x82.txt',
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: 'Unicode',
|
||||
fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
|
||||
formEncoding: 'UTF-8',
|
||||
expectedEncodedBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
|
||||
expectedEncodedBaseName: `file-for-upload-in-form-${kTestFallbackUtf8}.txt`,
|
||||
});
|
||||
|
||||
</script>
|
||||
|
|
|
@ -33,15 +33,14 @@ formPostFileUploadTest({
|
|||
fileNameSource: 'x-user-defined',
|
||||
fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
|
||||
formEncoding: 'windows-1252',
|
||||
expectedEncodedBaseName: (
|
||||
'file-for-upload-in-form-.txt'),
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-.txt',
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
fileNameSource: 'windows-1252',
|
||||
fileBaseName: 'file-for-upload-in-form-☺😂.txt',
|
||||
formEncoding: 'windows-1252',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-☺😂.txt',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-\xE2\x98\xBA\xF0\x9F\x98\x82.txt',
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
|
|
|
@ -33,7 +33,7 @@ formPostFileUploadTest({
|
|||
fileNameSource: 'x-user-defined',
|
||||
fileBaseName: 'file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt',
|
||||
formEncoding: 'x-user-defined',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-𓃠.txt',
|
||||
expectedEncodedBaseName: 'file-for-upload-in-form-\xF0\x93\x83\xA0.txt',
|
||||
});
|
||||
|
||||
formPostFileUploadTest({
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>FormData: Upload files named using controls (tentative)</title>
|
||||
<!--
|
||||
NOTE: This test is tentative because encoding for filename
|
||||
control characters is not yet standardized.
|
||||
-->
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data"
|
||||
/>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist"
|
||||
/>
|
||||
<link rel="help" href="https://w3c.github.io/FileAPI/#file-constructor" />
|
||||
<link
|
||||
rel="author"
|
||||
title="Benjamin C. Wiley Sittler"
|
||||
href="mailto:bsittler@chromium.org"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/send-file-formdata-helper.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-NUL-[\0].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-BS-[\b].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-VT-[\v].txt",
|
||||
});
|
||||
|
||||
// These have characters that undergo processing in name=,
|
||||
// filename=, and/or value; formDataPostFileUploadTest postprocesses
|
||||
// expectedEncodedBaseName for these internally.
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LF-[\n].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LF-CR-[\n\r].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-CR-[\r].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-CR-LF-[\r\n].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-HT-[\t].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-FF-[\f].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-DEL-[\x7F].txt",
|
||||
});
|
||||
|
||||
// The rest should be passed through unmodified:
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-ESC-[\x1B].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-SPACE-[ ].txt",
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,168 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>FormData: Upload files named using punctuation (tentative)</title>
|
||||
<!--
|
||||
NOTE: This test is tentative because encoding for filename
|
||||
punctuation characters is not yet standardized.
|
||||
-->
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data"
|
||||
/>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist"
|
||||
/>
|
||||
<link rel="help" href="https://w3c.github.io/FileAPI/#file-constructor" />
|
||||
<link
|
||||
rel="author"
|
||||
title="Benjamin C. Wiley Sittler"
|
||||
href="mailto:bsittler@chromium.org"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/send-file-formdata-helper.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
// These have characters that undergo processing in name=,
|
||||
// filename=, and/or value; formDataPostFileUploadTest postprocesses
|
||||
// expectedEncodedBaseName for these internally.
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-QUOTATION-MARK-[\x22].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: '"file-for-upload-in-form-double-quoted.txt"',
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-REVERSE-SOLIDUS-[\\].txt",
|
||||
});
|
||||
|
||||
// The rest should be passed through unmodified:
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-EXCLAMATION-MARK-[!].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-DOLLAR-SIGN-[$].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-PERCENT-SIGN-[%].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-AMPERSAND-[&].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-APOSTROPHE-['].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LEFT-PARENTHESIS-[(].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-RIGHT-PARENTHESIS-[)].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-ASTERISK-[*].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-PLUS-SIGN-[+].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-COMMA-[,].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-FULL-STOP-[.].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-SOLIDUS-[/].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-COLON-[:].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-SEMICOLON-[;].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-EQUALS-SIGN-[=].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-QUESTION-MARK-[?].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-CIRCUMFLEX-ACCENT-[^].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LEFT-SQUARE-BRACKET-[[].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-RIGHT-SQUARE-BRACKET-[]].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-LEFT-CURLY-BRACKET-[{].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-VERTICAL-LINE-[|].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-RIGHT-CURLY-BRACKET-[}].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form-TILDE-[~].txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "'file-for-upload-in-form-single-quoted.txt'",
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,53 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>FormData: Upload files in UTF-8 fetch()</title>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data"
|
||||
/>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist"
|
||||
/>
|
||||
<link rel="help" href="https://w3c.github.io/FileAPI/#file-constructor" />
|
||||
<link
|
||||
rel="author"
|
||||
title="Benjamin C. Wiley Sittler"
|
||||
href="mailto:bsittler@chromium.org"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/send-file-formdata-helper.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form.txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "x-user-defined",
|
||||
fileBaseName: "file-for-upload-in-form-\uF7F0\uF793\uF783\uF7A0.txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "windows-1252",
|
||||
fileBaseName: "file-for-upload-in-form-☺😂.txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "JIS X 0201 and JIS X 0208",
|
||||
fileBaseName: "file-for-upload-in-form-★星★.txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "Unicode",
|
||||
fileBaseName: "file-for-upload-in-form-☺😂.txt",
|
||||
});
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "Unicode",
|
||||
fileBaseName: `file-for-upload-in-form-${kTestChars}.txt`,
|
||||
});
|
||||
</script>
|
|
@ -0,0 +1,28 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8" />
|
||||
<title>FormData: Upload ASCII-named file in UTF-8 form</title>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart-form-data"
|
||||
/>
|
||||
<link
|
||||
rel="help"
|
||||
href="https://html.spec.whatwg.org/multipage/dnd.html#datatransferitemlist"
|
||||
/>
|
||||
<link rel="help" href="https://w3c.github.io/FileAPI/#file-constructor" />
|
||||
<link
|
||||
rel="author"
|
||||
title="Benjamin C. Wiley Sittler"
|
||||
href="mailto:bsittler@chromium.org"
|
||||
/>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="../support/send-file-formdata-helper.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
formDataPostFileUploadTest({
|
||||
fileNameSource: "ASCII",
|
||||
fileBaseName: "file-for-upload-in-form.txt",
|
||||
});
|
||||
</script>
|
Loading…
Add table
Add a link
Reference in a new issue