servo/tests/wpt/web-platform-tests/xhr/send-data-readablestream.any.js

27 lines
865 B
JavaScript

// META: global=window,dedicatedworker,sharedworker
function assert_xhr(stream) {
const client = new XMLHttpRequest();
client.open("POST", "...");
assert_throws(new TypeError(), () => client.send(stream));
}
test(() => {
const stream = new ReadableStream();
stream.getReader();
assert_xhr(stream);
}, "XMLHttpRequest: send() with a stream on which getReader() is called");
test(() => {
const stream = new ReadableStream();
stream.getReader().read();
assert_xhr(stream);
}, "XMLHttpRequest: send() with a stream on which read() is called");
promise_test(async () => {
const stream = new ReadableStream({ pull: c => c.enqueue(new Uint8Array()) }),
reader = stream.getReader();
await reader.read();
reader.releaseLock();
assert_xhr(stream);
}, "XMLHttpRequest: send() with a stream on which read() and releaseLock() are called");