gState should reach gathering before complete');
        t.done();
      }
    });

    assert_equals(pc.onicegatheringstatechange, null,
      'Expect connection to have icegatheringstatechange event');
    assert_equals(pc.iceGatheringState, 'new');

    pc.addEventListener('icegatheringstatechange', onIceGatheringStateChange);

    generateAudioReceiveOnlyOffer(pc)
    .then(offer => pc.setLocalDescription(offer))
    .then(err => t.step_func(err =>
      assert_unreached(`Unhandled rejection ${err.name}