Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /fetch/api/request/request-clone.sub.html - WPT Dashboard Interop Dashboard
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Request clone</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../resources/utils.js"></script>
</head>
<body>
<script>
var headers = new Headers({"name" : "value"});
var emptyHeaders = new Headers();
var initValuesDict = {"method" : "POST",
"referrerPolicy" : "origin",
"mode" : "same-origin",
"credentials" : "include",
"cache" : "no-cache",
"redirect" : "error",
"integrity" : "Request's Integrity",
"headers" : headers,
"body" : "Request's body"
};
var expectedInitialized = {"method" : "POST",
"referrerPolicy" : "origin",
"mode" : "same-origin",
"credentials" : "include",
"cache" : "no-cache",
"redirect" : "error",
"integrity" : "Request's Integrity",
"headers" : headers,
"body" : "Request's body"
};
test(function() {
var RequestInitialized = new Request("", initValuesDict);
var requestToCheck = RequestInitialized.clone();
checkRequest(requestToCheck, expectedInitialized);
}, "Check cloning a request");
test(function() {
var initialRequest = new Request("", {"headers" : new Headers({"a": "1", "b" : "2"})});
var request = initialRequest.clone();
assert_equals(request.headers.get("a"), "1", "cloned request should have header 'a'");
assert_equals(request.headers.get("b"), "2", "cloned request should have header 'b'");
initialRequest.headers.delete("a");
assert_equals(request.headers.get("a"), "1", "cloned request should still have header 'a'");
request.headers.delete("a");
assert_equals(initialRequest.headers.get("b"), "2", "initial request should have header 'b'");
}, "Check cloning a request copies the headers");
</script>
</body>
</html>