aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-11-29 20:21:38 -0500
committerGitHub <noreply@github.com>2019-11-29 20:21:38 -0500
commit3db473714bc87c1c692ebf300620aa382bd9cd1b (patch)
treea86fa31cdc6f05f6aa21195796a6dd39105e81dc
parentb945afe223ff45d8d36f97702d958ca33afff3c3 (diff)
parent3d322f96e3ee2233c0823d1a0aed0b608c8c6d8d (diff)
downloadservo-3db473714bc87c1c692ebf300620aa382bd9cd1b.tar.gz
servo-3db473714bc87c1c692ebf300620aa382bd9cd1b.zip
Auto merge of #24670 - glowe:add-crlf-to-boundary, r=Manishearth
Add CRLF to encoded multipart form data <!-- Please describe your changes on the following line: --> Some (3) WPT tests were failing because they expected the body for a multipart form data response to end with a CRLF. So I updated encode_multipart_form_data to add the missing terminator. Looking at the corresponding spec (https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#multipart%2Fform-data-encoding-algorithm) and RFC (https://tools.ietf.org/html/rfc7578), I couldn't find anything mentioned about this detail. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors <!-- Either: --> - [x] There are tests for these changes <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
-rwxr-xr-xcomponents/script/dom/htmlformelement.rs2
-rw-r--r--tests/wpt/metadata/fetch/api/response/response-consume.html.ini9
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json2
-rw-r--r--tests/wpt/mozilla/tests/mozilla/FileAPI/resource/file-submission.py2
4 files changed, 3 insertions, 12 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index b09804e397c..913f5f8530a 100755
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -1366,7 +1366,7 @@ pub fn encode_multipart_form_data(
}
}
- let mut boundary_bytes = format!("\r\n--{}--", boundary).into_bytes();
+ let mut boundary_bytes = format!("\r\n--{}--\r\n", boundary).into_bytes();
result.append(&mut boundary_bytes);
result
diff --git a/tests/wpt/metadata/fetch/api/response/response-consume.html.ini b/tests/wpt/metadata/fetch/api/response/response-consume.html.ini
index c716d7fb7fa..d8f9054d16b 100644
--- a/tests/wpt/metadata/fetch/api/response/response-consume.html.ini
+++ b/tests/wpt/metadata/fetch/api/response/response-consume.html.ini
@@ -34,15 +34,6 @@
[Consume response's body: from FormData to formData]
expected: FAIL
- [Consume response's body: from FormData to blob]
- expected: FAIL
-
- [Consume response's body: from FormData to text]
- expected: FAIL
-
- [Consume response's body: from FormData to arrayBuffer]
- expected: FAIL
-
[Consume response's body: from stream to blob]
expected: FAIL
diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json
index b1babc8b119..f9610ad6167 100644
--- a/tests/wpt/mozilla/meta/MANIFEST.json
+++ b/tests/wpt/mozilla/meta/MANIFEST.json
@@ -18499,7 +18499,7 @@
"testharness"
],
"mozilla/FileAPI/resource/file-submission.py": [
- "24d5129eb8d38c9415622c78ed401ae344273ce1",
+ "79e72fb99a95c186e4916b40627ee762d694b8ea",
"support"
],
"mozilla/FileAPI/resource/upload.txt": [
diff --git a/tests/wpt/mozilla/tests/mozilla/FileAPI/resource/file-submission.py b/tests/wpt/mozilla/tests/mozilla/FileAPI/resource/file-submission.py
index 24d5129eb8d..79e72fb99a9 100644
--- a/tests/wpt/mozilla/tests/mozilla/FileAPI/resource/file-submission.py
+++ b/tests/wpt/mozilla/tests/mozilla/FileAPI/resource/file-submission.py
@@ -21,7 +21,7 @@ def main(request, response):
boundary = content_type[1].strip("boundary=")
body = "--" + boundary + "\r\nContent-Disposition: form-data; name=\"file-input\"; filename=\"upload.txt\""
- body += "\r\n" + "content-type: text/plain\r\n\r\nHello\r\n--" + boundary + "--"
+ body += "\r\n" + "content-type: text/plain\r\n\r\nHello\r\n--" + boundary + "--\r\n"
if body != request.body:
return fail("request body doesn't match: " + body + "+++++++" + request.body)