blob: 8a97fa0c90f48bdac08b0adb27e2d8a619e97621 [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Response consume</title>
<meta name="help" href="https://fetch.spec.whatwg.org/#response">
<meta name="help" href="https://fetch.spec.whatwg.org/#body-mixin">
<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>
promise_test(function(test) {
var body = "";
var response = new Response("");
return validateStreamFromString(response.body.getReader(), "");
}, "Read empty text response's body as readableStream");
promise_test(function(test) {
var response = new Response(new Blob([], { "type" : "text/plain" }));
return validateStreamFromString(response.body.getReader(), "");
}, "Read empty blob response's body as readableStream");
var formData = new FormData();
formData.append("name", "value");
var textData = JSON.stringify("This is response's body");
var blob = new Blob([textData], { "type" : "text/plain" });
var urlSearchParamsData = "name=value";
var urlSearchParams = new URLSearchParams(urlSearchParamsData);
promise_test(function(test) {
var response = new Response(blob);
return validateStreamFromString(response.body.getReader(), textData);
}, "Read blob response's body as readableStream");
promise_test(function(test) {
var response = new Response(textData);
return validateStreamFromString(response.body.getReader(), textData);
}, "Read text response's body as readableStream");
promise_test(function(test) {
var response = new Response(urlSearchParams);
return validateStreamFromString(response.body.getReader(), urlSearchParamsData);
}, "Read URLSearchParams response's body as readableStream");
promise_test(function(test) {
var arrayBuffer = new ArrayBuffer(textData.length);
var int8Array = new Int8Array(arrayBuffer);
for (var cptr = 0; cptr < textData.length; cptr++)
int8Array[cptr] = textData.charCodeAt(cptr);
return validateStreamFromString(new Response(arrayBuffer).body.getReader(), textData);
}, "Read array buffer response's body as readableStream");
promise_test(function(test) {
var response = new Response(formData);
return validateStreamFromPartialString(response.body.getReader(),
"Content-Disposition: form-data; name=\"name\"\r\n\r\nvalue");
}, "Read form data response's body as readableStream");
test(function() {
assert_equals(Response.error().body, null);
}, "Getting an error Response stream");
test(function() {
assert_equals(Response.redirect("/").body, null);
}, "Getting a redirect Response stream");
</script>
</body>
</html>