chromium/third_party/blink/web_tests/fast/peerconnection/RTCPeerConnection-address-harvesting.html

<!DOCTYPE html>
<html>
<head>
<title>RTCPeerConnection address harvesting</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
</head>
<body>
<script>
promise_test(async t => {
    let pc = new RTCPeerConnection();
    t.add_cleanup(() => pc.close());
    pc.createDataChannel('foo');
    let candidates = [];
    pc.onicecandidate = function(event) {
        if (event.candidate) {
            candidates.push(event.candidate);
        }
    }
    let gatheringDone = new Promise(function(resolve, reject) {
        pc.onicegatheringstatechange = function() {
            if (pc.iceGatheringState == 'complete') {
                resolve();
            }
        }
    });
    const offer = await pc.createOffer();
    await pc.setLocalDescription(offer);
    await gatheringDone;
    assert_true(candidates.length > 0);
    pc.close();
}, 'Test that address harvesting does not cause crash');

</script>
</body>
</html>