| <!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> |