| <!DOCTYPE html> | |
| <meta charset="utf-8"> | |
| <title>RTCDataChannelEvent constructor</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script> | |
| // Test is based on the following revision: | |
| // https://rawgit.com/w3c/webrtc-pc/1cc5bfc3ff18741033d804c4a71f7891242fb5b3/webrtc.html | |
| test(function() { | |
| assert_equals(RTCDataChannelEvent.length, 2); | |
| assert_throws_js( | |
| TypeError, | |
| function() { new RTCDataChannelEvent('type'); } | |
| ); | |
| }, 'RTCDataChannelEvent constructor without a required argument.'); | |
| test(function() { | |
| assert_throws_js( | |
| TypeError, | |
| function() { new RTCDataChannelEvent('type', { channel: null }); } | |
| ); | |
| }, 'RTCDataChannelEvent constructor with channel passed as null.'); | |
| test(function() { | |
| assert_throws_js( | |
| TypeError, | |
| function() { new RTCDataChannelEvent('type', { channel: undefined }); } | |
| ); | |
| }, 'RTCDataChannelEvent constructor with a channel passed as undefined.'); | |
| test(t => { | |
| const pc = new RTCPeerConnection(); | |
| t.add_cleanup(() => pc.close()); | |
| const dc = pc.createDataChannel(''); | |
| const event = new RTCDataChannelEvent('type', { channel: dc }); | |
| assert_true(event instanceof RTCDataChannelEvent); | |
| assert_equals(event.channel, dc); | |
| }, 'RTCDataChannelEvent constructor with full arguments.'); | |
| </script> |