RTCIceConnectionState-candidate-pair.https.html (1130B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <meta name="timeout" content="long"> 4 <title>RTCIceConnectionState and RTCIceCandidatePair</title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="RTCPeerConnection-helper.js"></script> 8 <script> 9 'use strict'; 10 11 promise_test(async t => { 12 const caller = new RTCPeerConnection(); 13 t.add_cleanup(() => caller.close()); 14 const callee = new RTCPeerConnection(); 15 t.add_cleanup(() => callee.close()); 16 17 const stream = await getNoiseStream({audio:true}); 18 const [track] = stream.getTracks(); 19 caller.addTrack(track, stream); 20 exchangeIceCandidates(caller, callee); 21 await exchangeOfferAnswer(caller, callee); 22 await listenToIceConnected(caller); 23 24 const report = await caller.getStats(); 25 let succeededPairFound = false; 26 report.forEach(stats => { 27 if (stats.type == 'candidate-pair' && stats.state == 'succeeded') 28 succeededPairFound = true; 29 }); 30 assert_true(succeededPairFound, 'A succeeded candidate-pair should exist'); 31 }, 'On ICE connected, getStats() contains a connected candidate-pair'); 32 33 </script>