mirror of
https://github.com/servo/servo.git
synced 2025-10-12 14:30:25 +01:00
61 lines
2.5 KiB
JavaScript
61 lines
2.5 KiB
JavaScript
// META: global=window,worker
|
|
// META: title=Response consume
|
|
// META: script=../resources/utils.js
|
|
|
|
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);
|
|
|
|
for (const mode of [undefined, "byob"]) {
|
|
promise_test(function(test) {
|
|
var response = new Response(blob);
|
|
return validateStreamFromString(response.body.getReader({ mode }), textData);
|
|
}, `Read blob response's body as readableStream with mode=${mode}`);
|
|
|
|
promise_test(function(test) {
|
|
var response = new Response(textData);
|
|
return validateStreamFromString(response.body.getReader({ mode }), textData);
|
|
}, `Read text response's body as readableStream with mode=${mode}`);
|
|
|
|
promise_test(function(test) {
|
|
var response = new Response(urlSearchParams);
|
|
return validateStreamFromString(response.body.getReader({ mode }), urlSearchParamsData);
|
|
}, `Read URLSearchParams response's body as readableStream with mode=${mode}`);
|
|
|
|
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({ mode }), textData);
|
|
}, `Read array buffer response's body as readableStream with mode=${mode}`);
|
|
|
|
promise_test(function(test) {
|
|
var response = new Response(formData);
|
|
return validateStreamFromPartialString(response.body.getReader({ mode }),
|
|
"Content-Disposition: form-data; name=\"name\"\r\n\r\nvalue");
|
|
}, `Read form data response's body as readableStream with mode=${mode}`);
|
|
}
|
|
|
|
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");
|