summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js
blob: c63281bd51b0a01de27785c1e14792a6b51e0625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
'use strict';

const validBinaryTypes = ['blob', 'arraybuffer'];
const invalidBinaryTypes = ['jellyfish', 'arraybuffer ', '', null, undefined];

for (const binaryType of validBinaryTypes) {
  test((t) => {
    const pc = new RTCPeerConnection();
    t.add_cleanup(() => pc.close());
    const dc = pc.createDataChannel('test-binary-type');

    dc.binaryType = binaryType;
    assert_equals(dc.binaryType, binaryType, `dc.binaryType should be '${binaryType}'`);
  }, `Setting binaryType to '${binaryType}' should succeed`);
}

for (const binaryType of invalidBinaryTypes) {
  test((t) => {
    const pc = new RTCPeerConnection();
    t.add_cleanup(() => pc.close());
    const dc = pc.createDataChannel('test-binary-type');

    assert_throws_dom('SyntaxError', () => {
      dc.binaryType = binaryType;
    });
  }, `Setting invalid binaryType '${binaryType}' should throw SyntaxError`);
}