blob: 661e8e5d266a2a977762c13157589b68606e214c [file] [log] [blame]
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Ensuring ICE UDP candidates have a valid port</title>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
</head>
<body>
<script>
function gatherCandidates(pc)
{
var candidates = [];
return new Promise((resolve, reject) => {
setTimeout(() => {
reject("gathering did time out with " + candidates.length + " candidates");
}, 10000);
pc.onicecandidate = (event) => {
if (event.candidate === null) {
resolve(candidates);
return;
}
candidates.push(event.candidate.candidate);
};
pc.createOffer().then((offer) => {
pc.setLocalDescription(offer);
});
});
}
promise_test((test) => {
var pc = new RTCPeerConnection();
pc.createDataChannel("");
var hasCandidate = false;
return gatherCandidates(pc).then((candidates) => {
for(candidate of candidates) {
if (candidate.toLowerCase().indexOf(" udp ") === -1)
continue;
items = candidate.split(" ");
var port = parseInt(items[5]);
assert_true(port > 1024, "port is expected to be above 1024 but was " + port);
hasCandidate = true;
}
assert_true(hasCandidate, "Candidates should be gathered");
});
}, "Checking UDP ICE candidate ports");
</script>
</body>
</html>