Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(176)

Unified Diff: content/test/data/media/peerconnection-call.html

Issue 47923023: Automate WebRTC-in-Chrome test cases (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: disable test on android Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/media/webrtc_browsertest.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..dbd873a197eb9d8f9c533e276b5130a731b16520 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 = {
@@ -114,11 +114,43 @@
transformRemoteSdp = removeMsid;
gTestWithoutMsid = true;
navigator.webkitGetUserMedia({audio: true, video: true},
- addStreamToBothConnectionsAndNegotiate, printGetUserMediaError);
+ addStreamToBothConnectionsAndNegotiate, printGetUserMediaError);
waitForVideo('remote-view-1');
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);
+ 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',
+ 'a=rtpmap:100 XVP8/90000\r\n');
+ 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, '');
}
« no previous file with comments | « content/browser/media/webrtc_browsertest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698