<!doctype html>
<meta charset=utf-8>
<title></title>
<script src=/resources/testharness.js></script>
<script src=/resources/testharnessreport.js></script>
<script src="RTCPeerConnection-helper.js"></script>
<script>
"use strict";

promise_test(async t => {
  const pc1 = new RTCPeerConnection();
  const pc2 = new RTCPeerConnection();
  t.add_cleanup(() => pc1.close());
  t.add_cleanup(() => pc2.close());

  pc1.addTransceiver("audio");

  await pc1.setLocalDescription(await pc1.createOffer());
  pc1.restartIce();
  await pc2.setRemoteDescription(pc1.localDescription);
  await pc2.setLocalDescription(await pc2.createAnswer());
  await pc1.setRemoteDescription(pc2.localDescription);
  // When the setRemoteDescription() promise above is resolved a task should be
  // queued to fire the onnegotiationneeded event. Because of this, we should
  // have time to hook up the event listener *after* awaiting the SRD promise.
  await new Promise(r => pc1.onnegotiationneeded = r);
}, "Negotiation needed when returning to stable does not fire too early");

</script>
