Make perf work in adb_profile_chrome when JSON converter isn't present
[chromium-blink-merge.git] / remoting / webapp / browser_test / cancel_pin_browser_test.js
blob7ba01c761e675a61b8e315a62e3e0c3659dc4cb6
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
3 // found in the LICENSE file.
5 /**
6  * @fileoverview
7  * @suppress {checkTypes}
8  * Browser test for the scenario below:
9  * 1. Attempt to connect.
10  * 2. Hit cancel at the PIN prompt.
11  * 3. Reconnect with the PIN.
12  * 4. Verify that the session is connected.
13  */
15 'use strict';
17 /** @constructor */
18 browserTest.Cancel_PIN = function() {};
20 browserTest.Cancel_PIN.prototype.run = function(data) {
21   browserTest.expect(typeof data.pin == 'string');
23   var AppMode = remoting.AppMode;
24   browserTest.clickOnControl('this-host-connect');
25   browserTest.onUIMode(AppMode.CLIENT_PIN_PROMPT).then(function() {
26     browserTest.clickOnControl('cancel-pin-entry-button');
27     return browserTest.onUIMode(AppMode.HOME);
28   }).then(function() {
29     browserTest.clickOnControl('this-host-connect');
30     return browserTest.onUIMode(AppMode.CLIENT_PIN_PROMPT);
31   }).then(
32     this.enterPin_.bind(this, data.pin)
33   ).then(function() {
34     // On fulfilled.
35     browserTest.pass();
36   }, function(reason) {
37     // On rejected.
38     browserTest.fail(reason);
39   });
42 browserTest.Cancel_PIN.prototype.enterPin_ = function(pin) {
43   document.getElementById('pin-entry').value = pin;
44   browserTest.clickOnControl('pin-connect-button');
45   return browserTest.expectMe2MeConnected();