| CONSOLE WARNING: line 1: The rtcpMuxPolicy option is being considered for removal and may be removed no earlier than M60, around August 2017. If you depend on it, please see https://www.chromestatus.com/features/5654810086866944 for more details. |
| CONSOLE WARNING: line 1: Unknown constraint named invalid rejected |
| CONSOLE WARNING: line 1: Unknown constraint named valid_but_unsupported_1 rejected |
| CONSOLE WARNING: line 1: Unknown constraint named valid_but_unsupported_1 rejected |
| Tests the RTCPeerConnection constructor. |
| |
| On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". |
| |
| |
| PASS webkitRTCPeerConnection is RTCPeerConnection |
| PASS new RTCPeerConnection(null); did not throw exception. |
| PASS new RTCPeerConnection(undefined); did not throw exception. |
| PASS new RTCPeerConnection({}); did not throw exception. |
| PASS new RTCPeerConnection(); did not throw exception. |
| PASS new RTCPeerConnection(''); threw exception TypeError: Failed to construct 'RTCPeerConnection': parameter 1 ('configuration') is not an object.. |
| PASS new RTCPeerConnection({iceServers:[]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[{url:'stun:foo.com'}]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[{url:'turn:foo.com', username:'x', credential:'x'}]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[{url:'turn:foo.com', username:'x', credential:'x'},{url:'stun:bar.com'}]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[{urls:'stun:foo.com'}]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[{urls:['stun:foo.com', 'turn:foo.com'], username:'x', credential:'x'}]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[{urls:['stun:foo.com', 'turn:foo.com']}]}); threw exception InvalidAccessError: Failed to construct 'RTCPeerConnection': Both username and credential are required when the URL scheme is "turn" or "turns".. |
| PASS new RTCPeerConnection({fooServers:[]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:true}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The value provided is neither an array, nor does it have indexed properties.. |
| PASS new RTCPeerConnection({iceServers:[1, 2, 3]}); threw exception TypeError: Failed to construct 'RTCPeerConnection': cannot convert to dictionary.. |
| PASS new RTCPeerConnection({iceServers:[{}]}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Malformed RTCIceServer. |
| PASS new RTCPeerConnection({iceServers:[{url:'foo'}]}); threw exception SyntaxError: Failed to construct 'RTCPeerConnection': 'foo' is not a valid URL.. |
| PASS new RTCPeerConnection({iceServers:[{urls:'unsupported:scheme'}]}); threw exception SyntaxError: Failed to construct 'RTCPeerConnection': 'unsupported' is not one of the supported URL schemes 'stun', 'turn' or 'turns'.. |
| PASS new RTCPeerConnection({iceServers:[{urls:[1, 'turn:foo.com']}]}); threw exception SyntaxError: Failed to construct 'RTCPeerConnection': '1' is not a valid URL.. |
| PASS new RTCPeerConnection({iceServers:[], iceTransports:'none'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], iceTransports:'relay'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], iceTransports:'all'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], iceTransports:'foo'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'foo' is not a valid enum value of type RTCIceTransportPolicy.. |
| PASS new RTCPeerConnection({iceServers:[], bundlePolicy:'balanced'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], bundlePolicy:'max-bundle'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], bundlePolicy:'max-compat'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], bundlePolicy:'foo'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'foo' is not a valid enum value of type RTCBundlePolicy.. |
| PASS new RTCPeerConnection({iceServers:[], rtcpMuxPolicy:'negotiate'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], rtcpMuxPolicy:'require'}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], rtcpMuxPolicy:'foo'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The provided value 'foo' is not a valid enum value of type RTCRtcpMuxPolicy.. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:0}); did not throw exception. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:1}); did not throw exception. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:255}); did not throw exception. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:-1}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Value is outside the 'octet' value range.. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:99999999}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Value is outside the 'octet' value range.. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:256}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Value is outside the 'octet' value range.. |
| PASS new RTCPeerConnection({iceCandidatePoolSize:'foo'}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Value is not of type 'octet'.. |
| PASS new RTCPeerConnection(null, {mandatory:{valid_and_supported_1:1}}); did not throw exception. |
| PASS new RTCPeerConnection(null, {mandatory:{valid_and_supported_1:1, valid_and_supported_2:1}}); did not throw exception. |
| PASS new RTCPeerConnection(null, {optional:[{valid_and_supported_1:0}]}); did not throw exception. |
| PASS new RTCPeerConnection(null, {optional:[{valid_and_supported_1:0},{valid_and_supported_2:0}]}); did not throw exception. |
| PASS new RTCPeerConnection(null, {optional:[{valid_but_unsupported_1:0},{valid_but_unsupported_2:0}]}); did not throw exception. |
| PASS new RTCPeerConnection(null, {mandatory:{valid_and_supported_1:66}}); threw exception NotSupportedError: Failed to construct 'RTCPeerConnection': Unsatisfiable constraint valid_and_supported_1. |
| PASS new RTCPeerConnection(null, {mandatory:{invalid:1}}); threw exception NotSupportedError: Failed to construct 'RTCPeerConnection': Unsatisfiable constraint invalid. |
| PASS new RTCPeerConnection(null, {mandatory:{valid_but_unsupported_1:1}}); threw exception NotSupportedError: Failed to construct 'RTCPeerConnection': Unsatisfiable constraint valid_but_unsupported_1. |
| PASS new RTCPeerConnection(null, {mandatory:{valid_but_unsupported_1:1, valid_and_supported_1:1}}); threw exception NotSupportedError: Failed to construct 'RTCPeerConnection': Unsatisfiable constraint valid_but_unsupported_1. |
| PASS new RTCPeerConnection(null, {optional:{valid_and_supported_1:0}}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Malformed constraints object.. |
| PASS new RTCPeerConnection(null, {optional:[{valid_and_supported_1:0,valid_and_supported_2:0}]}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Malformed constraints object.. |
| PASS new RTCPeerConnection(null, {optional:[{invalid:0}]}); did not throw exception. |
| PASS new RTCPeerConnection(null, {valid_and_supported_1:1}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Malformed constraints object.. |
| PASS new RTCPeerConnection(null, {valid_but_unsupported_1:1}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Malformed constraints object.. |
| PASS new RTCPeerConnection(null, {valid_and_supported_2:1, mandatory:{valid_and_supported_1:1}}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Malformed constraints object.. |
| PASS new RTCPeerConnection({iceServers:[], certificates:null}); threw exception TypeError: Failed to construct 'RTCPeerConnection': The value provided is neither an array, nor does it have indexed properties.. |
| PASS new RTCPeerConnection({iceServers:[], certificates:undefined}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], certificates:[]}); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], certificates:[null]}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Invalid Array element type. |
| PASS new RTCPeerConnection({iceServers:[], certificates:[1337]}); threw exception TypeError: Failed to construct 'RTCPeerConnection': Invalid Array element type. |
| PASS new RTCPeerConnection({iceServers:[], certificates:[certRSA]}, null); did not throw exception. |
| PASS new RTCPeerConnection({iceServers:[], certificates:[certECDSA]}, null); did not throw exception. |
| PASS certExpired.expires <= new Date().getTime() is true |
| PASS new RTCPeerConnection({iceServers:[], certificates:[certExpired]}, null); threw exception InvalidAccessError: Failed to construct 'RTCPeerConnection': Expired certificate(s).. |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |