summaryrefslogtreecommitdiffstats
path: root/dom/media/webrtc/tests/mochitests/test_peerConnection_basicAudioNATSrflx.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/media/webrtc/tests/mochitests/test_peerConnection_basicAudioNATSrflx.html')
-rw-r--r--dom/media/webrtc/tests/mochitests/test_peerConnection_basicAudioNATSrflx.html44
1 files changed, 44 insertions, 0 deletions
diff --git a/dom/media/webrtc/tests/mochitests/test_peerConnection_basicAudioNATSrflx.html b/dom/media/webrtc/tests/mochitests/test_peerConnection_basicAudioNATSrflx.html
new file mode 100644
index 0000000000..78fa8bcb2c
--- /dev/null
+++ b/dom/media/webrtc/tests/mochitests/test_peerConnection_basicAudioNATSrflx.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+ <script type="application/javascript" src="nonTrickleIce.js"></script>
+ <script type="application/javascript" src="pc.js"></script>
+</head>
+<body>
+<pre id="test">
+<script type="application/javascript">
+createHTML({
+ bug: "1231975",
+ title: "Basic audio-only peer connection with endpoint independent NAT, for verifying UDP srflx"
+});
+
+// This test uses the NAT simulator, which doesn't work in https, so we turn
+// on getUserMedia in http, which requires a reload.
+if (!("mediaDevices" in navigator)) {
+ SpecialPowers.pushPrefEnv({set: [['media.devices.insecure.enabled', true]]},
+ () => location.reload());
+} else {
+ runNetworkTest(async (options = {}) => {
+ await pushPrefs(
+ ['media.peerconnection.ice.obfuscate_host_addresses', false],
+ ['media.peerconnection.nat_simulator.filtering_type', 'ENDPOINT_INDEPENDENT'],
+ ['media.peerconnection.nat_simulator.mapping_type', 'ENDPOINT_INDEPENDENT'],
+ ['media.peerconnection.nat_simulator.block_tcp', true],
+ ['media.getusermedia.insecure.enabled', true]);
+ options.expectedLocalCandidateType = "srflx";
+ options.expectedRemoteCandidateType = "srflx";
+ const test = new PeerConnectionTest(options);
+ // Make sure we don't end up choosing the wrong thing due to delays in
+ // trickle. Once we are willing to accept trickle after ICE success, we
+ // can maybe wait a bit to allow things to stabilize.
+ // TODO(bug 1238249)
+ makeOffererNonTrickle(test.chain);
+ makeAnswererNonTrickle(test.chain);
+ test.setMediaConstraints([{audio: true}], [{audio: true}]);
+ await test.run();
+ }, { useIceServer: true });
+}
+</script>
+</pre>
+</body>
+</html>