blob: 1bbb30bd575794ea5bb12bc192262a4127a6c308 [file] [log] [blame]
<!doctype html>
<meta charset=utf-8>
<title>RTCPeerConnection.prototype.onicecandidateerror</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="RTCPeerConnection-helper.js"></script>
<script>
promise_test(async t => {
const config = {
iceServers: [{urls: "turn:123", username: "123", credential: "123"}]
};
const pc = new RTCPeerConnection(config);
t.add_cleanup(() => pc.close());
const onErrorPromise = addEventListenerPromise(t, pc, 'icecandidateerror', event => {
assert_true(event instanceof RTCPeerConnectionIceErrorEvent,
'Expect event to be instance of RTCPeerConnectionIceErrorEvent');
// Do not hardcode any specific errors here. Instead only verify
// that all the fields contain something expected.
// Testing of event.errorText can be added later once it's content is
// specified in spec with more detail.
assert_true(event.errorCode >= 300 && event.errorCode <= 799, "errorCode");
assert_true(event.hostCandidate.includes(":"), "hostCandidate");
assert_true(event.url.includes("123"), "url");
});
const stream = await getNoiseStream({audio:true});
t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
pc.addTrack(stream.getAudioTracks()[0], stream);
await pc.setLocalDescription(await pc.createOffer());
await onErrorPromise;
}, 'Surfacing onicecandidateerror');
</script>