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

Side by Side Diff: chrome/test/media_router/resources/common.js

Issue 2820433003: [Presentation API] Add browser tests for 1-UA mode (Closed)
Patch Set: Created 3 years, 8 months 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 unified diff | Download patch
OLDNEW
1 /** 1 /**
2 * Copyright 2015 The Chromium Authors. All rights reserved. 2 * Copyright 2015 The Chromium Authors. All rights reserved.
3 * Use of this source code is governed by a BSD-style license that can be 3 * Use of this source code is governed by a BSD-style license that can be
4 * found in the LICENSE file. 4 * found in the LICENSE file.
5 * 5 *
6 * @fileoverview Common APIs for presentation integration tests. 6 * @fileoverview Common APIs for presentation integration tests.
7 * 7 *
8 */ 8 */
9 9
10 var startSessionPromise = null; 10 var startSessionPromise = null;
11 var startedConnection = null; 11 var startedConnection = null;
12 var reconnectedSession = null; 12 var reconnectedSession = null;
13 var presentationUrl = null; 13 var presentationUrl = null;
14 if (window.location.href.indexOf('__is_android__=true') >= 0) { 14 var pageUrl = window.location.href;
15
16 if (pageUrl.indexOf('__is_android__=true') >= 0) {
15 // For android, "google.com/cast" is required in presentation URL. 17 // For android, "google.com/cast" is required in presentation URL.
16 // TODO(zqzhang): this requirement may be removed in the future. 18 // TODO(zqzhang): this requirement may be removed in the future.
17 presentationUrl = "https://google.com/cast#__castAppId__=CCCCCCCC/"; 19 presentationUrl = "https://google.com/cast#__castAppId__=CCCCCCCC/";
20 } else if (pageUrl.indexOf('__oneUA__=true') >= 0) {
21 presentationUrl =
22 "presentation_receiver.html#__testprovider__=true&__oneUA__=true";
23 } else if (pageUrl.indexOf('__oneUANoReceiver__=true') >= 0) {
24 presentationUrl = "https://www.google.com#__testprovider__=true&__oneUA__=true ";
18 } else { 25 } else {
19 presentationUrl = "http://www.google.com/#__testprovider__=true"; 26 presentationUrl = "http://www.google.com/#__testprovider__=true";
20 } 27 }
28
21 var startSessionRequest = new PresentationRequest([presentationUrl]); 29 var startSessionRequest = new PresentationRequest([presentationUrl]);
22 var defaultRequestSessionId = null; 30 var defaultRequestSessionId = null;
23 var lastExecutionResult = null; 31 var lastExecutionResult = null;
24 var useDomAutomationController = !!window.domAutomationController; 32 var useDomAutomationController = !!window.domAutomationController;
25 33
26 window.navigator.presentation.defaultRequest = startSessionRequest; 34 window.navigator.presentation.defaultRequest = startSessionRequest;
27 window.navigator.presentation.defaultRequest.onconnectionavailable = function(e) 35 window.navigator.presentation.defaultRequest.onconnectionavailable = function(e)
28 { 36 {
29 defaultRequestSessionId = e.connection.id; 37 defaultRequestSessionId = e.connection.id;
30 }; 38 };
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 213
206 /** 214 /**
207 * Sends the given message, and expects response from the receiver. 215 * Sends the given message, and expects response from the receiver.
208 * @param {!string} message 216 * @param {!string} message
209 */ 217 */
210 function sendMessageAndExpectResponse(message) { 218 function sendMessageAndExpectResponse(message) {
211 if (!startedConnection) { 219 if (!startedConnection) {
212 sendResult(false, 'startedConnection does not exist.'); 220 sendResult(false, 'startedConnection does not exist.');
213 return; 221 return;
214 } 222 }
215 startedConnection.onmessage = function(receivedMessage) { 223 if (message == 'close') {
imcheng 2017/04/17 19:06:44 This is an indirect way to tell presentation_recei
zhaobin 2017/04/17 21:24:07 Done.
216 var expectedResponse = 'Pong: ' + message; 224 startedConnection.onclose = function(event) {
217 var actualResponse = receivedMessage.data; 225 var reason = event.reason;
218 if (actualResponse != expectedResponse) { 226 if (reason != 'closed') {
219 sendResult(false, 'Expected message: ' + expectedResponse + 227 sendResult(false, 'Unexpected close reason: ' + reason);
220 ', but got: ' + actualResponse); 228 return;
221 return; 229 }
222 } 230 sendResult(true, '');
223 sendResult(true, ''); 231 };
224 }; 232 } else {
233 startedConnection.onmessage = function(receivedMessage) {
234 var expectedResponse = 'Pong: ' + message;
235 var actualResponse = receivedMessage.data;
236 if (actualResponse != expectedResponse) {
237 sendResult(false, 'Expected message: ' + expectedResponse +
238 ', but got: ' + actualResponse);
239 return;
240 }
241 sendResult(true, '');
242 };
243 }
225 startedConnection.send(message); 244 startedConnection.send(message);
226 } 245 }
227 246
228 /** 247 /**
229 * Reconnects to |sessionId| and verifies that it succeeds. 248 * Reconnects to |sessionId| and verifies that it succeeds.
230 * @param {!string} sessionId ID of session to reconnect. 249 * @param {!string} sessionId ID of session to reconnect.
231 */ 250 */
232 function reconnectSession(sessionId) { 251 function reconnectSession(sessionId) {
233 var reconnectSessionRequest = new PresentationRequest(presentationUrl); 252 var reconnectSessionRequest = new PresentationRequest(presentationUrl);
234 reconnectSessionRequest.reconnect(sessionId).then(function(session) { 253 reconnectSessionRequest.reconnect(sessionId).then(function(session) {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
275 passed: passed, 294 passed: passed,
276 errorMessage: errorMessage 295 errorMessage: errorMessage
277 })); 296 }));
278 } else { 297 } else {
279 lastExecutionResult = JSON.stringify({ 298 lastExecutionResult = JSON.stringify({
280 passed: passed, 299 passed: passed,
281 errorMessage: errorMessage 300 errorMessage: errorMessage
282 }); 301 });
283 } 302 }
284 } 303 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698