summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js')
-rw-r--r--testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js27
1 files changed, 27 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js b/testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js
new file mode 100644
index 0000000000..c63281bd51
--- /dev/null
+++ b/testing/web-platform/tests/webrtc/RTCDataChannel-binaryType.window.js
@@ -0,0 +1,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`);
+}