blob: afac0d2a3a0462019ae6bf23fe079c6f7b4b94c0 [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 textData = JSON.stringify("This is response's body");
var blob = new Blob([stringToArray(textData).buffer], { "type" : "text/plain" });
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 arrayBuffer = new ArrayBuffer(textData.length);
var uint8Array = new Uint8Array(arrayBuffer);
for (var cptr = 0; cptr < textData.length; cptr++)
uint8Array[cptr] = textData.charCodeAt(cptr);
return validateStreamFromString(new Response(arrayBuffer).body.getReader(), textData);
}, "Read array buffer response's body as readableStream");
test(function() {
assert_equals(Response.error().body, null);
}, "Getting an error Response stream");
promise_test(function(test) {
assert_equals(Response.redirect("", 301).body, null);
}, "Getting a redirect Response stream");
</script>
</body>
</html>