-
Notifications
You must be signed in to change notification settings - Fork 3.2k
/
Copy pathRTCDataChannel-binaryType.window.js
35 lines (28 loc) · 1.14 KB
/
RTCDataChannel-binaryType.window.js
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
28
29
30
31
32
33
34
35
'use strict';
const validBinaryTypes = ['blob', 'arraybuffer'];
const invalidBinaryTypes = ['jellyfish', 'arraybuffer ', '', null, undefined, 234, 54n];
test((t) => {
const pc = new RTCPeerConnection();
t.add_cleanup(() => pc.close());
const dc = pc.createDataChannel('test-binary-type');
assert_equals(dc.binaryType, "blob", `dc.binaryType should be 'blob'`);
}, `Default binaryType value`);
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');
dc.binaryType = "arraybuffer";
dc.binaryType = binaryType;
assert_equals(dc.binaryType, "arraybuffer");
}, `Setting binaryType to '${binaryType}' should be ignored`);
}