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

Side by Side Diff: remoting/webapp/browser_test/browser_test.js

Issue 944183002: HostTableEntry refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address Jamie's feedback Created 5 years, 9 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** 5 /**
6 * @fileoverview 6 * @fileoverview
7 * 7 *
8 * Provides basic functionality for JavaScript based browser test. 8 * Provides basic functionality for JavaScript based browser test.
9 * 9 *
10 * To define a browser test, create a class under the browserTest namespace. 10 * To define a browser test, create a class under the browserTest namespace.
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 */ 123 */
124 browserTest.pass = function() { 124 browserTest.pass = function() {
125 browserTest.automationController_.send(JSON.stringify({ 125 browserTest.automationController_.send(JSON.stringify({
126 succeeded: true, 126 succeeded: true,
127 error_message: '', 127 error_message: '',
128 stack_trace: '' 128 stack_trace: ''
129 })); 129 }));
130 }; 130 };
131 131
132 /** 132 /**
133 * @param {string} id 133 * @param {string} id The id or the selector of the element.
134 * @return {void} 134 * @return {void}
135 */ 135 */
136 browserTest.clickOnControl = function(id) { 136 browserTest.clickOnControl = function(id) {
137 var element = document.getElementById(id); 137 var element = document.getElementById(id);
138 if (!element) {
139 element = document.querySelector(id);
140 }
138 browserTest.expect(element, 'No such element: ' + id); 141 browserTest.expect(element, 'No such element: ' + id);
139 element.click(); 142 element.click();
140 }; 143 };
141 144
142 /** 145 /**
143 * @param {remoting.AppMode} expectedMode 146 * @param {remoting.AppMode} expectedMode
144 * @param {number=} opt_timeout 147 * @param {number=} opt_timeout
145 * @return {Promise} 148 * @return {Promise}
146 */ 149 */
147 browserTest.onUIMode = function(expectedMode, opt_timeout) { 150 browserTest.onUIMode = function(expectedMode, opt_timeout) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 }; 189 };
187 190
188 /** 191 /**
189 * @return {Promise} 192 * @return {Promise}
190 */ 193 */
191 browserTest.connectMe2Me = function() { 194 browserTest.connectMe2Me = function() {
192 var AppMode = remoting.AppMode; 195 var AppMode = remoting.AppMode;
193 // The one second timeout is necessary because the click handler of 196 // The one second timeout is necessary because the click handler of
194 // 'this-host-connect' is registered asynchronously. 197 // 'this-host-connect' is registered asynchronously.
195 return base.Promise.sleep(1000).then(function() { 198 return base.Promise.sleep(1000).then(function() {
196 browserTest.clickOnControl('this-host-connect'); 199 browserTest.clickOnControl('local-host-connect-button');
197 }).then(function(){ 200 }).then(function(){
198 return browserTest.onUIMode(AppMode.CLIENT_HOST_NEEDS_UPGRADE); 201 return browserTest.onUIMode(AppMode.CLIENT_HOST_NEEDS_UPGRADE);
199 }).then(function() { 202 }).then(function() {
200 // On fulfilled. 203 // On fulfilled.
201 browserTest.clickOnControl('host-needs-update-connect-button'); 204 browserTest.clickOnControl('host-needs-update-connect-button');
202 }, function() { 205 }, function() {
203 // On time out. 206 // On time out.
204 return Promise.resolve(); 207 return Promise.resolve();
205 }).then(function() { 208 }).then(function() {
206 return browserTest.onUIMode(AppMode.CLIENT_PIN_PROMPT, 10000); 209 return browserTest.onUIMode(AppMode.CLIENT_PIN_PROMPT, 10000);
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
401 * @param {string} pin 404 * @param {string} pin
402 * @return {Promise} 405 * @return {Promise}
403 */ 406 */
404 browserTest.ensureHostStartedWithPIN = function(pin) { 407 browserTest.ensureHostStartedWithPIN = function(pin) {
405 // Return if host is already 408 // Return if host is already
406 return browserTest.isLocalHostStarted().then( 409 return browserTest.isLocalHostStarted().then(
407 /** @param {boolean} started */ 410 /** @param {boolean} started */
408 function(started){ 411 function(started){
409 if (!started) { 412 if (!started) {
410 console.log('browserTest: Enabling remote connection.'); 413 console.log('browserTest: Enabling remote connection.');
411 browserTest.clickOnControl('start-daemon'); 414 browserTest.clickOnControl('.start-daemon');
412 } else { 415 } else {
413 console.log('browserTest: Changing the PIN of the host to: ' + 416 console.log('browserTest: Changing the PIN of the host to: ' +
414 pin + '.'); 417 pin + '.');
415 browserTest.clickOnControl('change-daemon-pin'); 418 browserTest.clickOnControl('.change-daemon-pin');
416 } 419 }
417 return browserTest.setupPIN(pin); 420 return browserTest.setupPIN(pin);
418 }); 421 });
419 }; 422 };
420 423
421 /** 424 /**
422 * Called by Browser Test in C++ 425 * Called by Browser Test in C++
423 * @param {string} pin 426 * @param {string} pin
424 * @suppress {checkTypes} 427 * @suppress {checkTypes}
425 */ 428 */
426 browserTest.ensureRemoteConnectionEnabled = function(pin) { 429 browserTest.ensureRemoteConnectionEnabled = function(pin) {
427 browserTest.ensureHostStartedWithPIN(pin).then(function() { 430 browserTest.ensureHostStartedWithPIN(pin).then(function() {
428 browserTest.pass(); 431 browserTest.pass();
429 }, function(reason) { 432 }, function(reason) {
430 browserTest.fail(reason); 433 browserTest.fail(reason);
431 }); 434 });
432 }; 435 };
433 436
434 browserTest.init(); 437 browserTest.init();
OLDNEW
« no previous file with comments | « remoting/webapp/base/js/base.js ('k') | remoting/webapp/browser_test/update_pin_browser_test.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698