Skip to content

Commit

Permalink
Bug 1444166 [wpt PR 9931] - Add used body replacement test for Reques…
Browse files Browse the repository at this point in the history
…t constructor, a=testonly

Automatic update from web-platform-testsFetch: add used body replacement test for Request constructor

See Fetch change whatwg/fetch#675.

Specifically, that PR allows Requests with disturbed bodies to be used as the first parameter to the Request constructor, as long as the RequestInit dictionary contains a body member with which to replace the used body.

As of this writing, no browser implements this change.

wpt-commits: e87f38097902e16348d4e17f4fe3bc2d0112bff1
wpt-pr: 9931
wpt-commits: e87f38097902e16348d4e17f4fe3bc2d0112bff1
wpt-pr: 9931
  • Loading branch information
harrishancock authored and jgraham committed Apr 15, 2018
1 parent 652692e commit 5aa2a30
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion testing/web-platform/meta/MANIFEST.json
Expand Up @@ -550837,7 +550837,7 @@
"testharness"
],
"fetch/api/request/request-disturbed.html": [
"47a1771e5ce32b63cf4b378a87c5d53ee486c246",
"62d53aaa3cefd7f76f315ab3f3aa1cd5d5a4e4a0",
"testharness"
],
"fetch/api/request/request-error.html": [
Expand Down
Expand Up @@ -48,6 +48,17 @@
assert_throws(new TypeError(), function() { new Request(bodyConsumed); });
}, "Check creating a new request from a disturbed request");

promise_test(function() {
assert_true(bodyConsumed.bodyUsed , "bodyUsed is true when request is disturbed");
const originalBody = bodyConsumed.body;
const bodyReplaced = new Request(bodyConsumed, { body: "Replaced body" });
assert_not_equals(bodyReplaced.body, originalBody, "new request's body is new");
assert_false(bodyReplaced.bodyUsed, "bodyUsed is false when request is not disturbed");
return bodyReplaced.text().then(text => {
assert_equals(text, "Replaced body");
});
}, "Check creating a new request with a new body from a disturbed request");

promise_test(function() {
var bodyRequest = new Request("", initValuesDict);
const originalBody = bodyRequest.body;
Expand All @@ -58,7 +69,7 @@
assert_not_equals(originalBody, undefined, "body should not be undefined");
assert_not_equals(originalBody, null, "body should not be null");
assert_not_equals(requestFromRequest.body, originalBody, "new request's body is new");
return requestFromRequest.text(text => {
return requestFromRequest.text().then(text => {
assert_equals(text, "Request's body");
});
}, "Input request used for creating new request became disturbed");
Expand All @@ -74,7 +85,7 @@
assert_not_equals(originalBody, null, "body should not be null");
assert_not_equals(requestFromRequest.body, originalBody, "new request's body is new");

return requestFromRequest.text(text => {
return requestFromRequest.text().then(text => {
assert_equals(text, "init body");
});
}, "Input request used for creating new request became disturbed even if body is not used");
Expand Down

0 comments on commit 5aa2a30

Please sign in to comment.