blob: c690bb3dc036535510de6720f6aaf9d55cb55fe6 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Request clone</title>
<meta name="help" href="https://fetch.spec.whatwg.org/#request">
<meta name="author" title="Canon Research France" href="https://www.crf.canon.fr">
<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",
"referrer" : "http://{{host}}:{{ports[http][0]}}/",
"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",
"referrer" : "http://{{host}}:{{ports[http][0]}}/",
"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>