| Index: chrome/browser/ui/webui/sync_setup_browsertest.js
|
| diff --git a/chrome/browser/ui/webui/sync_setup_browsertest.js b/chrome/browser/ui/webui/sync_setup_browsertest.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..1132ec3f348db70e4ee80c8fd97894d77ad5b16e
|
| --- /dev/null
|
| +++ b/chrome/browser/ui/webui/sync_setup_browsertest.js
|
| @@ -0,0 +1,90 @@
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +/**
|
| + * Test fixture for sync setup WebUI testing.
|
| + * @constructor
|
| + * @extends {testing.Test}
|
| + */
|
| +function SyncSetupWebUITest() {}
|
| +
|
| +SyncSetupWebUITest.prototype = {
|
| + __proto__: testing.Test.prototype,
|
| +
|
| + /**
|
| + * Browse to personal options.
|
| + **/
|
| + browsePreload: 'chrome://settings/personal',
|
| +
|
| + /** @inheritDoc */
|
| + preLoad: function() {
|
| + this.makeAndRegisterMockHandler(['stopSyncing',
|
| + 'SyncSetupDidClosePage',
|
| + 'SyncSetupSubmitAuth',
|
| + 'SyncSetupConfigure',
|
| + 'SyncSetupPassphrase',
|
| + 'SyncSetupPassphraseCancel',
|
| + 'SyncSetupAttachHandler',
|
| + 'SyncSetupShowErrorUI',
|
| + 'SyncSetupShowSetupUI',
|
| + ]);
|
| + },
|
| +
|
| + /**
|
| + * Verifies starting point is not synced.
|
| + */
|
| + verifyUnsynced: function() {
|
| + },
|
| +
|
| + /**
|
| + * Clicks the "Sign in to Chrome" button.
|
| + */
|
| + startSyncing: function() {
|
| + var startStopSyncButton = PersonalOptions.getStartStopSyncButton();
|
| + assertNotEquals(null, startStopSyncButton);
|
| + this.mockHandler.expects(once()).SyncSetupShowSetupUI().
|
| + will(callFunction(function() {
|
| + OptionsPage.navigateToPage('syncSetup');
|
| + }));
|
| +
|
| + this.mockHandler.expects(once()).SyncSetupAttachHandler().
|
| + will(callFunction(function() {
|
| + SyncSetupOverlay.showSyncSetupPage(
|
| + 'login', {
|
| + user: '',
|
| + error: 0,
|
| + editable_user: true,
|
| + });
|
| + }));
|
| + startStopSyncButton.click();
|
| + },
|
| +};
|
| +
|
| +// Verify that initial state is unsynced, start syncing, then login.
|
| +TEST_F('SyncSetupWebUITest', 'VerifySignIn', function() {
|
| + // Start syncing to pull up the sign in page.
|
| + assertFalse(PersonalOptions.getInstance().syncSetupCompleted);
|
| + this.startSyncing();
|
| +
|
| + // Verify the DOM objects on the page.
|
| + var gaiaEmail = SyncSetupOverlay.getLoginEmail();
|
| + assertNotEquals(null, gaiaEmail);
|
| + var gaiaPasswd = SyncSetupOverlay.getLoginPasswd();
|
| + assertNotEquals(null, gaiaPasswd);
|
| + var signInButton = SyncSetupOverlay.getSignInButton();
|
| + assertNotEquals(null, signInButton);
|
| +
|
| + // Expect set up submission and close messages sent through chrome.send().
|
| + this.mockHandler.expects(once()).SyncSetupSubmitAuth(NOT_NULL).
|
| + will(callFunction(function() {
|
| + SyncSetupOverlay.showSuccessAndClose();
|
| + }));
|
| + this.mockHandler.expects(once()).SyncSetupDidClosePage();
|
| +
|
| + // Set the email & password, then sign in.
|
| + gaiaEmail.value = 'foo@bar.baz';
|
| + gaiaPasswd.value = 'foo@bar.baz';
|
| + signInButton.click();
|
| +});
|
| +
|
|
|