tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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>