| <!doctype html> | |
| <meta charset=utf-8> | |
| <title>RTCPeerConnection a=setup SDP parameter test</title> | |
| <script src="/resources/testharness.js"></script> | |
| <script src="/resources/testharnessreport.js"></script> | |
| <script src="./third_party/sdp/sdp.js"></script> | |
| <script> | |
| 'use strict'; | |
| // Tests for correct behavior of the transport-stats. | |
| promise_test(async t => { | |
| const pc1 = new RTCPeerConnection(); | |
| t.add_cleanup(() => pc1.close()); | |
| pc1.createDataChannel('wpt'); | |
| await pc1.setLocalDescription(); | |
| const stats = await pc1.getStats(); | |
| let transportStats; | |
| stats.forEach(report => { | |
| if (report.type === 'transport') { | |
| transportStats = report; | |
| } | |
| }); | |
| assert_equals(transportStats.dtlsState, 'new'); | |
| assert_equals(transportStats.dtlsRole, 'unknown'); | |
| }, 'DTLS statistics on transport-stats after setLocalDescription'); | |
| promise_test(async t => { | |
| const pc1 = new RTCPeerConnection(); | |
| t.add_cleanup(() => pc1.close()); | |
| pc1.createDataChannel('wpt'); | |
| await pc1.setLocalDescription(); | |
| const sections = SDPUtils.splitSections(pc1.localDescription.sdp); | |
| const iceParameters = SDPUtils.getIceParameters(sections[1], sections[0]); | |
| const stats = await pc1.getStats(); | |
| let transportStats; | |
| stats.forEach(report => { | |
| if (report.type === 'transport') { | |
| transportStats = report; | |
| } | |
| }); | |
| assert_equals(transportStats.iceRole, 'controlling'); | |
| assert_equals(transportStats.iceLocalUsernameFragment, iceParameters.usernameFragment); | |
| assert_equals(transportStats.iceState, 'new'); | |
| assert_equals(transportStats.selectedCandidatePairChanges, 0); | |
| }, 'ICE statistics on transport-stats after setLocalDescription'); | |
| </script> |