aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorglowe <graham@spinlag.com>2019-11-05 21:04:55 -0500
committerglowe <graham@spinlag.com>2019-11-29 17:29:39 -0500
commit3d322f96e3ee2233c0823d1a0aed0b608c8c6d8d (patch)
treeb9e38358ef9d8f4925e02f50e9feae358390ffd2
parentafbcbf75eaa63ff0eec8fd3858e9155eb8dbadaa (diff)
downloadservo-3d322f96e3ee2233c0823d1a0aed0b608c8c6d8d.tar.gz
servo-3d322f96e3ee2233c0823d1a0aed0b608c8c6d8d.zip
Add CRLF to encoded multipart form data
Some 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.
-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 94ca58262d7..77a54f054f1 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 d8d05a7b9d8..653f1b8f7e3 100644
--- a/tests/wpt/mozilla/meta/MANIFEST.json
+++ b/tests/wpt/mozilla/meta/MANIFEST.json
@@ -18442,7 +18442,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)