| This is a testharness.js-based test. |
| PASS createDataChannel with no argument should throw TypeError |
| PASS createDataChannel with closed connection should throw InvalidStateError |
| FAIL createDataChannel attribute default values assert_equals: expected (object) null but got (undefined) undefined |
| FAIL createDataChannel with provided parameters should initialize attributes to provided values assert_equals: expected (object) null but got (undefined) undefined |
| PASS createDataChannel with label "foo" should succeed |
| PASS createDataChannel with label null should succeed |
| PASS createDataChannel with label undefined should succeed |
| PASS createDataChannel with label lone surrogate should succeed |
| PASS createDataChannel with ordered false should succeed |
| PASS createDataChannel with ordered null/undefined should succeed |
| FAIL createDataChannel with maxPacketLifeTime 0 should succeed assert_equals: expected (number) 0 but got (undefined) undefined |
| PASS createDataChannel with maxRetransmits 0 should succeed |
| PASS createDataChannel with both maxPacketLifeTime and maxRetransmits undefined should succeed |
| PASS createDataChannel with both maxPacketLifeTime and maxRetransmits should throw TypeError |
| PASS createDataChannel with protocol "foo" should succeed |
| PASS createDataChannel with protocol null should succeed |
| PASS createDataChannel with protocol undefined should succeed |
| PASS createDataChannel with protocol lone surrogate should succeed |
| PASS createDataChannel with id 0 should succeed |
| PASS createDataChannel with id 1 should succeed |
| FAIL createDataChannel with id 65534 should succeed Failed to execute 'createDataChannel' on 'RTCPeerConnection': RTCDataChannel creation failed |
| PASS createDataChannel with id -1 should throw TypeError |
| PASS createDataChannel with id 65535 should throw TypeError |
| PASS createDataChannel with id 65536 should throw TypeError |
| FAIL createDataChannel with priority "high" should succeed assert_equals: expected (string) "high" but got (undefined) undefined |
| FAIL createDataChannel with invalid priority should throw TypeError assert_throws: function "() => pc.createDataChannel('', { priority: 'invalid' })" did not throw |
| PASS createDataChannel with too long label should throw TypeError |
| PASS createDataChannel with too long label (2 byte unicode) should throw TypeError |
| PASS createDataChannel with same label used twice should not throw |
| PASS createDataChannel with negotiated true and id should succeed |
| PASS createDataChannel with too long protocol should throw TypeError |
| PASS createDataChannel with too long protocol (2 byte unicode) should throw TypeError |
| PASS createDataChannel with maximum length label and protocol should succeed |
| PASS createDataChannel with negotiated false should succeed |
| PASS createDataChannel with negotiated false and id 42 should ignore the id |
| PASS createDataChannel with negotiated true and id not defined should throw TypeError |
| PASS Channels created (after setRemoteDescription) should have id assigned |
| PASS Reusing a data channel id that is in use should throw OperationError |
| PASS Reusing a data channel id that is in use (after setRemoteDescription) should throw OperationError |
| PASS Reusing a data channel id that is in use (after setRemoteDescription, negotiated via DCEP) should throw OperationError |
| PASS New data channel should be in the connecting state after creation (after connection establishment) |
| Harness: the test ran to completion. |
| |