зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1523562 [wpt PR 15038] - Reland "Switch to new ICE state implementation", a=testonly
Automatic update from web-platform-tests Reland "Switch to new ICE state implementation" This is a reland of e902e08dc0c67fd7598a4a4e431177f89c00f350 Original change's description: > Switch to new ICE state implementation > > With this change the ice/dtls connection states should finally be compliant to the spec. > > Bug: webrtc:6145 > Change-Id: I1e7c13f22e40b534e732ecd3fc103f617306f00a > Reviewed-on: https://chromium-review.googlesource.com/c/1371392 > Commit-Queue: Jonas Olsson <jonasolsson@chromium.org> > Reviewed-by: Henrik Boström <hbos@chromium.org> > Cr-Commit-Position: refs/heads/master@{#617476} Bug: webrtc:6145 Change-Id: Ie4a09594e8a59c6598a9434c0132c1fd3543c76b Reviewed-on: https://chromium-review.googlesource.com/c/1433237 Reviewed-by: Henrik Boström <hbos@chromium.org> Commit-Queue: Jonas Olsson <jonasolsson@chromium.org> Cr-Commit-Position: refs/heads/master@{#625611} -- wpt-commits: e8365d71bf3a36ba494fbc96898d09e48f11e021 wpt-pr: 15038
This commit is contained in:
Родитель
76ca1e2278
Коммит
336e02ab4f
|
@ -64,6 +64,12 @@
|
||||||
assert_equals(pc.iceConnectionState, 'new');
|
assert_equals(pc.iceConnectionState, 'new');
|
||||||
}, 'Initial iceConnectionState should be new');
|
}, 'Initial iceConnectionState should be new');
|
||||||
|
|
||||||
|
test(t => {
|
||||||
|
const pc = new RTCPeerConnection();
|
||||||
|
pc.close();
|
||||||
|
assert_equals(pc.iceConnectionState, 'closed');
|
||||||
|
}, 'Closing the connection should set iceConnectionState to closed');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
4.4.4 RTCIceConnectionState Enum
|
4.4.4 RTCIceConnectionState Enum
|
||||||
checking
|
checking
|
||||||
|
@ -106,6 +112,35 @@
|
||||||
const pc1 = new RTCPeerConnection();
|
const pc1 = new RTCPeerConnection();
|
||||||
t.add_cleanup(() => pc1.close());
|
t.add_cleanup(() => pc1.close());
|
||||||
const pc2 = new RTCPeerConnection();
|
const pc2 = new RTCPeerConnection();
|
||||||
|
t.add_cleanup(() => pc2.close());
|
||||||
|
|
||||||
|
let had_checking = false;
|
||||||
|
|
||||||
|
const onIceConnectionStateChange = t.step_func(() => {
|
||||||
|
const {iceConnectionState} = pc1;
|
||||||
|
if (iceConnectionState === 'checking') {
|
||||||
|
had_checking = true;
|
||||||
|
} else if (iceConnectionState === 'connected' ||
|
||||||
|
iceConnectionState === 'completed') {
|
||||||
|
assert_true(had_checking, 'state should pass checking before' +
|
||||||
|
' reaching connected or completed');
|
||||||
|
t.done();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
pc1.createDataChannel('test');
|
||||||
|
|
||||||
|
pc1.addEventListener('iceconnectionstatechange', onIceConnectionStateChange);
|
||||||
|
|
||||||
|
exchangeIceCandidates(pc1, pc2);
|
||||||
|
doSignalingHandshake(pc1, pc2);
|
||||||
|
}, 'connection with one data channel should eventually have connected or ' +
|
||||||
|
'completed connection state');
|
||||||
|
|
||||||
|
async_test(t => {
|
||||||
|
const pc1 = new RTCPeerConnection();
|
||||||
|
t.add_cleanup(() => pc1.close());
|
||||||
|
const pc2 = new RTCPeerConnection();
|
||||||
|
|
||||||
t.add_cleanup(() => pc2.close());
|
t.add_cleanup(() => pc2.close());
|
||||||
|
|
||||||
|
@ -116,19 +151,22 @@
|
||||||
const iceTransport = pc1.sctp.transport.transport;
|
const iceTransport = pc1.sctp.transport.transport;
|
||||||
|
|
||||||
assert_equals(iceTransport.state, 'checking',
|
assert_equals(iceTransport.state, 'checking',
|
||||||
'Expect ICE transport to be in checking state when iceConnectionState is checking');
|
'Expect ICE transport to be in checking state when' +
|
||||||
|
' iceConnectionState is checking');
|
||||||
|
|
||||||
} else if(iceConnectionState === 'connected') {
|
} else if(iceConnectionState === 'connected') {
|
||||||
const iceTransport = pc1.sctp.transport.transport;
|
const iceTransport = pc1.sctp.transport.transport;
|
||||||
|
|
||||||
assert_equals(iceTransport.state, 'connected',
|
assert_equals(iceTransport.state, 'connected',
|
||||||
'Expect ICE transport to be in connected state when iceConnectionState is connected');
|
'Expect ICE transport to be in connected state when' +
|
||||||
|
' iceConnectionState is connected');
|
||||||
|
|
||||||
} else if(iceConnectionState === 'completed') {
|
} else if(iceConnectionState === 'completed') {
|
||||||
const iceTransport = pc1.sctp.transport.transport;
|
const iceTransport = pc1.sctp.transport.transport;
|
||||||
|
|
||||||
assert_equals(iceTransport.state, 'completed',
|
assert_equals(iceTransport.state, 'completed',
|
||||||
'Expect ICE transport to be in connected state when iceConnectionState is completed');
|
'Expect ICE transport to be in connected state when' +
|
||||||
|
' iceConnectionState is completed');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -141,7 +179,8 @@
|
||||||
|
|
||||||
exchangeIceCandidates(pc1, pc2);
|
exchangeIceCandidates(pc1, pc2);
|
||||||
doSignalingHandshake(pc1, pc2);
|
doSignalingHandshake(pc1, pc2);
|
||||||
}, 'connection with one data channel should eventually have connected connection state');
|
}, 'connection with one data channel should eventually ' +
|
||||||
|
'have connected connection state');
|
||||||
|
|
||||||
/*
|
/*
|
||||||
TODO
|
TODO
|
||||||
|
|
Загрузка…
Ссылка в новой задаче