mirror of
https://github.com/servo/servo.git
synced 2025-06-25 09:34:32 +01:00
31 lines
1 KiB
HTML
31 lines
1 KiB
HTML
<!doctype html>
|
|
<meta charset=utf-8>
|
|
<title>RTCDataChannel.prototype.send for blobs</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="RTCPeerConnection-helper.js"></script>
|
|
<script>
|
|
|
|
for (const options of [{}, {negotiated: true, id: 0}]) {
|
|
const mode = `${options.negotiated? "Negotiated d" : "D"}atachannel`;
|
|
|
|
promise_test(async t => {
|
|
const data1 = new Blob(['blob']);
|
|
const data1Size = data1.size;
|
|
const data2 = new ArrayBuffer(8);
|
|
const data2Size = data2.byteLength;
|
|
|
|
const [channel1, channel2] = await createDataChannelPair(t, options);
|
|
channel2.binaryType = "arraybuffer";
|
|
|
|
channel1.send(data1);
|
|
channel1.send(data2);
|
|
|
|
let e = await new Promise(r => channel2.onmessage = r);
|
|
assert_equals(e.data.byteLength, data1Size);
|
|
|
|
e = await new Promise(r => channel2.onmessage = r);
|
|
assert_equals(e.data.byteLength, data2Size);
|
|
}, `${mode} should send data following the order of the send call`);
|
|
}
|
|
</script>
|