RTCSctpTransport-events.html (2007B)
1 <!doctype html> 2 <meta charset=utf-8> 3 <title>RTCIceTransport</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <script src="RTCPeerConnection-helper.js"></script> 7 <script> 8 'use strict'; 9 10 promise_test(async t => { 11 const pc1 = new RTCPeerConnection(); 12 t.add_cleanup(() => pc1.close()); 13 const pc2 = new RTCPeerConnection(); 14 t.add_cleanup(() => pc2.close()); 15 pc1.createDataChannel(''); 16 assert_equals(null, pc1.sctp); 17 assert_equals(null, pc2.sctp); 18 const offer = await pc1.createOffer(); 19 await pc1.setLocalDescription(offer); 20 assert_not_equals(null, pc1.sctp); 21 await pc2.setRemoteDescription(offer); 22 assert_not_equals(null, pc2.sctp); 23 const answer = await pc2.createAnswer(); 24 await pc2.setLocalDescription(answer); 25 await pc1.setRemoteDescription(answer); 26 // Since this test does not exchange candidates, state remains "connecting". 27 assert_equals(pc1.sctp.state, "connecting"); 28 assert_equals(pc2.sctp.state, "connecting"); 29 }, 'SctpTransport objects are created at appropriate times'); 30 31 promise_test(async t => { 32 const pc1 = new RTCPeerConnection(); 33 t.add_cleanup(() => pc1.close()); 34 const pc2 = new RTCPeerConnection(); 35 t.add_cleanup(() => pc2.close()); 36 exchangeIceCandidates(pc1, pc2); 37 pc1.createDataChannel(''); 38 const offer = await pc1.createOffer(); 39 await pc1.setLocalDescription(offer); 40 const pc1ConnectedWaiter = waitForState(pc1.sctp, 'connected'); 41 await pc2.setRemoteDescription(offer); 42 const pc2ConnectedWaiter = waitForState(pc2.sctp, 'connected'); 43 const answer = await pc2.createAnswer(); 44 await pc2.setLocalDescription(answer); 45 await pc1.setRemoteDescription(answer); 46 await pc1ConnectedWaiter; 47 await pc2ConnectedWaiter; 48 const pc1ClosedWaiter = waitForState(pc1.sctp, 'closed'); 49 const pc2ClosedWaiter = waitForState(pc2.sctp, 'closed'); 50 pc1.close(); 51 await pc1ClosedWaiter; 52 await pc2ClosedWaiter; 53 }, 'SctpTransport reaches connected and closed state'); 54 55 </script>