());

    await new Promise(r => t.step_timeout(r, 500));
  }, 'setLocalDescription() with no transports should not cause iceGatheringState to change');

  promise_test(async t => {
    const pc1 = new RTCPeerConnection();
    t.add_cleanup(() => pc1.close());
    const pc2 = new RTCPeerConnection();
    t.add_cleanup(() => pc2.close());
    pc1.addTransceiver('audio', { direction: 'recvonly' });
    await initialOfferAnswerWithIceGatheringStateTransitions(
        pc1, pc2);
    await pc1.setLocalDescripti