diff options
Diffstat (limited to 'dom/media/tests/mochitest/test_peerConnection_bug827843.html')
-rw-r--r-- | dom/media/tests/mochitest/test_peerConnection_bug827843.html | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/dom/media/tests/mochitest/test_peerConnection_bug827843.html b/dom/media/tests/mochitest/test_peerConnection_bug827843.html new file mode 100644 index 000000000..01d566981 --- /dev/null +++ b/dom/media/tests/mochitest/test_peerConnection_bug827843.html @@ -0,0 +1,70 @@ +<!DOCTYPE HTML> +<html> +<head> + <script type="application/javascript" src="pc.js"></script> +</head> +<body> +<pre id="test"> +<script type="application/javascript"> + createHTML({ + bug: "827843", + title: "Ensure that localDescription and remoteDescription are null after close" + }); + +var steps = [ + function CHECK_SDP_ON_CLOSED_PC(test) { + var description; + var exception = null; + + // handle the event which the close() triggers + var localClosed = new Promise(resolve => { + test.pcLocal.onsignalingstatechange = e => { + is(e.target.signalingState, "closed", + "Received expected onsignalingstatechange event on 'closed'"); + resolve(); + } + }); + + test.pcLocal.close(); + + try { description = test.pcLocal.localDescription; } catch (e) { exception = e; } + ok(exception, "Attempt to access localDescription of pcLocal after close throws exception"); + exception = null; + + try { description = test.pcLocal.remoteDescription; } catch (e) { exception = e; } + ok(exception, "Attempt to access remoteDescription of pcLocal after close throws exception"); + exception = null; + + // handle the event which the close() triggers + var remoteClosed = new Promise(resolve => { + test.pcRemote.onsignalingstatechange = e => { + is(e.target.signalingState, "closed", + "Received expected onsignalingstatechange event on 'closed'"); + resolve(); + } + }); + + test.pcRemote.close(); + + try { description = test.pcRemote.localDescription; } catch (e) { exception = e; } + ok(exception, "Attempt to access localDescription of pcRemote after close throws exception"); + exception = null; + + try { description = test.pcRemote.remoteDescription; } catch (e) { exception = e; } + ok(exception, "Attempt to access remoteDescription of pcRemote after close throws exception"); + + return Promise.all([localClosed, remoteClosed]); + } +]; + +var test; +runNetworkTest(() => { + test = new PeerConnectionTest(); + test.setMediaConstraints([{audio: true}], [{audio: true}]); + test.chain.append(steps); + test.run(); +}); +</script> +</pre> +</body> +</html> |