diff options
Diffstat (limited to 'dom/media/tests/mochitest/test_peerConnection_remoteRollback.html')
-rw-r--r-- | dom/media/tests/mochitest/test_peerConnection_remoteRollback.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/dom/media/tests/mochitest/test_peerConnection_remoteRollback.html b/dom/media/tests/mochitest/test_peerConnection_remoteRollback.html new file mode 100644 index 000000000..099628ab8 --- /dev/null +++ b/dom/media/tests/mochitest/test_peerConnection_remoteRollback.html @@ -0,0 +1,55 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="pc.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + bug: "952145", + title: "Rollback remote offer" + }); + + var test; + runNetworkTest(function (options) { + test = new PeerConnectionTest(options); + test.setMediaConstraints([{audio: true}], [{audio: true}]); + test.chain.removeAfter('PC_REMOTE_CHECK_CAN_TRICKLE_SYNC'); + test.chain.append([ + function PC_REMOTE_ROLLBACK(test) { + // We still haven't negotiated the tracks + test.pcRemote.expectNegotiationNeeded(); + return test.setRemoteDescription( + test.pcRemote, + new RTCSessionDescription({ type: "rollback" }), + STABLE) + .then(() => test.pcRemote.rollbackRemoteTracksIfNotNegotiated()); + }, + + function PC_REMOTE_CHECK_CAN_TRICKLE_REVERT_SYNC(test) { + is(test.pcRemote._pc.canTrickleIceCandidates, null, + "Remote canTrickleIceCandidates is reverted to null"); + }, + + function PC_LOCAL_ROLLBACK(test) { + // We still haven't negotiated the tracks + test.pcLocal.expectNegotiationNeeded(); + return test.setLocalDescription( + test.pcLocal, + new RTCSessionDescription({ type: "rollback", sdp: ""}), + STABLE); + }, + + // Rolling back should shut down gathering + function PC_LOCAL_WAIT_FOR_END_OF_TRICKLE(test) { + return test.pcLocal.endOfTrickleIce; + }, + ]); + test.chain.append(commandsPeerConnectionOfferAnswer); + test.run(); + }); +</script> +</pre> +</body> +</html> |