tor-browser

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

RTCPeerConnection-createAnswer.html (1506B)


      1 <!doctype html>
      2 <meta charset=utf-8>
      3 <title>RTCPeerConnection.prototype.createAnswer</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 pc = new RTCPeerConnection();
     12  t.add_cleanup(() => pc.close());
     13 
     14  await promise_rejects_dom(t, 'InvalidStateError', pc.createAnswer());
     15 }, 'createAnswer() with null remoteDescription should reject with InvalidStateError');
     16 
     17 promise_test(async t => {
     18  const pc = new RTCPeerConnection();
     19  t.add_cleanup(() => pc.close());
     20 
     21  const offer = await pc.createOffer();
     22  await pc.setRemoteDescription(offer);
     23  const answer = await pc.createAnswer();
     24  assert_equals(typeof answer, 'object',
     25    'Expect answer to be plain object (dictionary RTCSessionDescriptionInit)');
     26  assert_false(answer instanceof RTCSessionDescription,
     27    'Expect answer to not be instance of RTCSessionDescription');
     28 }, 'createAnswer() returns RTCSessionDescriptionInit');
     29 
     30 promise_test(async t => {
     31  const pc = new RTCPeerConnection();
     32  t.add_cleanup(() => pc.close());
     33 
     34  // generateDataChannelOffer() is defined in RTCPeerConnection-helper.js.
     35  const offer = await generateDataChannelOffer(pc);
     36  await pc.setRemoteDescription(offer);
     37  pc.close();
     38  await promise_rejects_dom(t, 'InvalidStateError', pc.createAnswer());
     39 }, 'createAnswer() when connection is closed should reject with InvalidStateError');
     40 
     41 </script>