Chromium Code Reviews| Index: content/test/data/media/peerconnection-call.html |
| diff --git a/content/test/data/media/peerconnection-call.html b/content/test/data/media/peerconnection-call.html |
| index 535498f45d409b115b8c39774cd2d173bfd7d2a0..694e635abcbd925ce3e4557a4ce35ebe616d41b0 100644 |
| --- a/content/test/data/media/peerconnection-call.html |
| +++ b/content/test/data/media/peerconnection-call.html |
| @@ -9,7 +9,6 @@ |
| var gFirstConnection = null; |
| var gSecondConnection = null; |
| var gTestWithoutMsid = false; |
| - |
| var gLocalStream = null; |
| var gSentTones = ''; |
| @@ -19,6 +18,7 @@ |
| var transformSdp = function(sdp) { return sdp; }; |
| var transformRemoteSdp = function(sdp) { return sdp; }; |
| var transformCandidate = function(candidate) { return candidate; }; |
| + var onLocalDescriptionError = function(error) { }; |
| // When using external SDES, the crypto key is chosen by javascript. |
| var EXTERNAL_SDES_LINES = { |
| @@ -119,6 +119,38 @@ |
| waitForVideo('remote-view-2'); |
| } |
| + // Test that we can't setup a call with an unsupported video codec |
| + function negotiateUnsupportedVideoCodec() { |
| + createConnections(null); |
| + transformSdp = removeVideoCodec; |
| + navigator.webkitGetUserMedia({audio: true, video: true}, |
| + addStreamToBothConnectionsAndNegotiate, printGetUserMediaError); |
|
phoglund_chromium
2013/11/11 08:00:20
Nit: should be indented 4 spaces. In general,
some
elham
2013/11/11 17:13:10
Done.
|
| + onLocalDescriptionError = function(error) { |
| + var expectedMsg = 'SetLocalDescription failed: Failed to' + |
| + ' update session state: ERROR_CONTENT'; |
| + expectEquals(expectedMsg, error); |
| + |
| + // Got the right message, test succeeded. |
| + document.title = 'OK'; |
| + }; |
| + } |
| + |
| + // Test that we can't setup a call if one peer does not support encryption |
| + function negotiateNonCryptoCall() { |
| + createConnections(null); |
| + transformSdp = removeCrypto; |
| + navigator.webkitGetUserMedia({audio: true, video: true}, |
| + addStreamToBothConnectionsAndNegotiate, printGetUserMediaError); |
| + onLocalDescriptionError = function(error) { |
| + var expectedMsg = 'SetLocalDescription failed: Called with a SDP without' |
| + + ' crypto enabled.'; |
| + expectEquals(expectedMsg, error); |
| + |
| + // Got the right message, test succeeded. |
| + document.title = 'OK'; |
| + }; |
| + } |
| + |
| // Test that we can setup call with legacy settings. |
| function callWithLegacySdp() { |
| transformSdp = function(sdp) { |
| @@ -418,10 +450,10 @@ |
| gLocalStream = localStream; |
| } |
| - |
| + |
| // Called if getUserMedia fails. |
| function printGetUserMediaError(error) { |
| - document.title = 'getUserMedia request failed with code ' + error.code; |
| + document.title = 'getUserMedia request failed with code ' + error.code; |
| } |
| // Called if getUserMedia succeeds and we want to send from both connections. |
| @@ -510,7 +542,8 @@ |
| function onOfferCreated(offer, caller, callee) { |
| offer.sdp = transformSdp(offer.sdp); |
| - caller.setLocalDescription(offer); |
| + caller.setLocalDescription(offer, null, onLocalDescriptionError); |
| + |
| expectEquals('have-local-offer', caller.signalingState); |
| receiveOffer(offer.sdp, caller, callee); |
| } |
| @@ -535,6 +568,18 @@ |
| return offerSdp; |
| } |
| + function removeVideoCodec(offerSdp) { |
| + offerSdp= offerSdp.replace('a=rtpmap:100 VP8/90000\r\n', |
|
phoglund_chromium
2013/11/11 08:00:20
Nit: space between offerSdp and =.
elham
2013/11/11 17:13:10
Done.
|
| + 'a=rtpmap:100 XVP8/90000\r\n'); |
|
phoglund_chromium
2013/11/11 08:00:20
Nit: should line up with the other 'a=...' string.
elham
2013/11/11 17:13:10
Done.
|
| + return offerSdp; |
| + } |
| + |
| + function removeCrypto(offerSdp) { |
| + offerSdp = offerSdp.replace(/a=crypto.*\r\n/g, 'a=Xcrypto\r\n'); |
| + offerSdp = offerSdp.replace(/a=fingerprint.*\r\n/g, ''); |
| + return offerSdp; |
| + } |
| + |
| function removeBundle(sdp) { |
| return sdp.replace(/a=group:BUNDLE .*\r\n/g, ''); |
| } |