Tests the JSEP PeerConnection related constructors.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS typeof webkitRTCPeerConnection === 'function' is true
PASS typeof RTCSessionDescription === 'function' is true
PASS typeof RTCIceCandidate === 'function' is true
PASS webkitRTCPeerConnection() threw exception TypeError: DOM object constructor cannot be called as a function..
PASS RTCSessionDescription() threw exception TypeError: DOM object constructor cannot be called as a function..
PASS RTCIceCandidate() threw exception TypeError: DOM object constructor cannot be called as a function..
PASS new webkitRTCPeerConnection({iceServers:[{url:'stun://foobar.com:12345'}]}, null); did not throw exception.
PASS new RTCSessionDescription({type:'offer',sdp:'foobar'}); did not throw exception.
PASS new RTCIceCandidate({candidate:'foo'}); did not throw exception.
PASS successfullyParsed is true

TEST COMPLETE

