diff options
Diffstat (limited to 'dom/media/tests/mochitest/test_peerConnection_errorCallbacks.html')
-rw-r--r-- | dom/media/tests/mochitest/test_peerConnection_errorCallbacks.html | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/dom/media/tests/mochitest/test_peerConnection_errorCallbacks.html b/dom/media/tests/mochitest/test_peerConnection_errorCallbacks.html new file mode 100644 index 000000000..6d152a4fa --- /dev/null +++ b/dom/media/tests/mochitest/test_peerConnection_errorCallbacks.html @@ -0,0 +1,59 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="pc.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + bug: "834270", + title: "Align PeerConnection error handling with WebRTC specification" + }); + + function validateReason(reason) { + ok(reason.name.length, "Reason name = " + reason.name); + ok(reason.message.length, "Reason message = " + reason.message); + }; + + function testCreateAnswerError() { + var pc = new RTCPeerConnection(); + info ("Testing createAnswer error"); + return pc.createAnswer() + .then(generateErrorCallback("createAnswer before offer should fail"), + validateReason); + }; + + function testSetLocalDescriptionError() { + var pc = new RTCPeerConnection(); + info ("Testing setLocalDescription error"); + return pc.setLocalDescription(new RTCSessionDescription({ sdp: "Picklechips!", + type: "offer" })) + .then(generateErrorCallback("setLocalDescription with nonsense SDP should fail"), + validateReason); + }; + + function testSetRemoteDescriptionError() { + var pc = new RTCPeerConnection(); + info ("Testing setRemoteDescription error"); + return pc.setRemoteDescription(new RTCSessionDescription({ sdp: "Who?", + type: "offer" })) + .then(generateErrorCallback("setRemoteDescription with nonsense SDP should fail"), + validateReason); + }; + + // No test for createOffer errors -- there's nothing we can do at this + // level to evoke an error in createOffer. + + runNetworkTest(function () { + testCreateAnswerError() + .then(testSetLocalDescriptionError) + .then(testSetRemoteDescriptionError) + .catch(reason => ok(false, "unexpected error: " + reason)) + .then(networkTestFinished); + }); + +</script> +</pre> +</body> +</html> |