Bug 1523562 [wpt PR 13922] - Ensure that the 'address' member remains null in RTCIceCandidateStats for remote prflx candidates, a=testonly

Automatic update from web-platform-tests
Ensure that the 'address' member remains undefined in RTCIceCandidateStats for remote prflx candidates

--
Moving from undefined to null

--
Updated according comments

--
Merge pull request #13922 from youennf/no-address-member-in-remote-candidate-stats

Ensure that the 'address' member remains null in RTCIceCandidateStats for remote prflx candidates
--

wpt-commits: 0580aeec33f1c68636eb84f70b5aae04ec05d3bb, 0ec8f2cf94d81c73bc13ded0a57cf12b68633727, e3136b484e2c3f8a4ef4ba49739e8e458d80ef30, cba8de7d7ed600943951e16aa757173586a6881c
wpt-pr: 13922
This commit is contained in:
Youenn Fablet 2019-01-31 18:56:51 +00:00 коммит произвёл James Graham
Родитель df177d587c
Коммит 68fc551701
1 изменённых файлов: 81 добавлений и 0 удалений

Просмотреть файл

@ -0,0 +1,81 @@
<!doctype html>
<meta charset=utf-8>
<title>Exposure or remote candidate address on stats</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../webrtc/RTCPeerConnection-helper.js"></script>
<script src="../webrtc/RTCStats-helper.js"></script>
<script>
'use strict';
promise_test(async (test) => {
const localPc = new RTCPeerConnection();
test.add_cleanup(() => localPc.close());
const remotePc = new RTCPeerConnection();
test.add_cleanup(() => remotePc.close());
const promiseDataChannel = new Promise(resolve => {
remotePc.addEventListener('datachannel', (event) => {
resolve(event.channel);
});
});
const localDataChannel = localPc.createDataChannel('test');
localPc.addEventListener('icecandidate', event => {
if (event.candidate)
remotePc.addIceCandidate(event.candidate);
});
doSignalingHandshake(localPc, remotePc);
const remoteDataChannel = await promiseDataChannel;
localDataChannel.send("test");
await new Promise(resolve => {
remoteDataChannel.onmessage = resolve;
});
const remoteCandidateStats = getRequiredStats(await localPc.getStats(), "remote-candidate");
assert_equals(remoteCandidateStats.address, null, "address should be null");
}, "Do not expose in stats remote addresses that are not known to be already exposed to JS");
promise_test(async (test) => {
const localPc = new RTCPeerConnection();
test.add_cleanup(() => localPc.close());
const remotePc = new RTCPeerConnection();
test.add_cleanup(() => remotePc.close());
const promiseDataChannel = new Promise(resolve => {
remotePc.addEventListener('datachannel', (event) => {
resolve(event.channel);
});
});
const localDataChannel = localPc.createDataChannel('test');
localPc.addEventListener('icecandidate', event => {
if (event.candidate)
remotePc.addIceCandidate(event.candidate);
});
remotePc.addEventListener('icecandidate', event => {
if (event.candidate)
localPc.addIceCandidate(event.candidate);
});
doSignalingHandshake(localPc, remotePc);
const remoteDataChannel = await promiseDataChannel;
localDataChannel.send("test");
await new Promise(resolve => {
remoteDataChannel.onmessage = resolve;
});
const remoteCandidateStats = getRequiredStats(await localPc.getStats(), "remote-candidate");
assert_not_equals(remoteCandidateStats.address, null, "address should not be null");
}, "Expose in stats remote addresses that are already exposed to JS");
</script>