summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webrtc-encoded-transform/routines.js
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webrtc-encoded-transform/routines.js')
-rw-r--r--testing/web-platform/tests/webrtc-encoded-transform/routines.js32
1 files changed, 32 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webrtc-encoded-transform/routines.js b/testing/web-platform/tests/webrtc-encoded-transform/routines.js
new file mode 100644
index 0000000000..4db7f39621
--- /dev/null
+++ b/testing/web-platform/tests/webrtc-encoded-transform/routines.js
@@ -0,0 +1,32 @@
+async function createConnections(test, setupLocalConnection, setupRemoteConnection, doNotCloseAutmoatically) {
+ const localConnection = new RTCPeerConnection();
+ const remoteConnection = new RTCPeerConnection();
+
+ remoteConnection.onicecandidate = (event) => { localConnection.addIceCandidate(event.candidate); };
+ localConnection.onicecandidate = (event) => { remoteConnection.addIceCandidate(event.candidate); };
+
+ await setupLocalConnection(localConnection);
+ await setupRemoteConnection(remoteConnection);
+
+ const offer = await localConnection.createOffer();
+ await localConnection.setLocalDescription(offer);
+ await remoteConnection.setRemoteDescription(offer);
+
+ const answer = await remoteConnection.createAnswer();
+ await remoteConnection.setLocalDescription(answer);
+ await localConnection.setRemoteDescription(answer);
+
+ if (!doNotCloseAutmoatically) {
+ test.add_cleanup(() => {
+ localConnection.close();
+ remoteConnection.close();
+ });
+ }
+
+ return [localConnection, remoteConnection];
+}
+
+function waitFor(test, duration)
+{
+ return new Promise((resolve) => test.step_timeout(resolve, duration));
+}