summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/tests/mochitests/test_peerConnection_setRemoteOfferInHaveLocalOffer.html
blob: 20236f442c756e4c3656ccf05196fd24e58cdc7c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE HTML>
<html>
<head>
  <script type="application/javascript" src="pc.js"></script>
</head>
<body>
<pre id="test">
<script type="application/javascript">
  createHTML({
    bug: "784519",
    title: "setRemoteDescription (offer) in 'have-local-offer'"
  });

runNetworkTest(function () {
  const test = new PeerConnectionTest();
  test.setMediaConstraints([{audio: true}], [{audio: true}]);
  test.chain.removeAfter("PC_LOCAL_SET_LOCAL_DESCRIPTION");

  test.chain.append([
    async function PC_LOCAL_SET_REMOTE_OFFER(test) {
      const p = test.pcLocal._pc.setRemoteDescription(test.pcLocal._latest_offer);
      await new Promise(r => test.pcLocal.onsignalingstatechange = r);
      is(test.pcLocal._pc.signalingState, 'stable', 'should fire stable');
      await new Promise(r => test.pcLocal.onsignalingstatechange = r);
      is(test.pcLocal._pc.signalingState, 'have-remote-offer',
         'should fire have-remote-offer');
      await p;
      ok(true, 'setRemoteDescription should succeed');
    }
  ]);

  return test.run();
});
</script>
</pre>
</body>
</html>