| Index: chrome/test/data/webui/settings/settings_main_test.js
|
| diff --git a/chrome/test/data/webui/settings/settings_main_test.js b/chrome/test/data/webui/settings/settings_main_test.js
|
| index 226259a20ad6f4eb3a5e3ef2fbe0167cd16d9e2c..acbbe9201dba45453ffc85defe971d08a00299e3 100644
|
| --- a/chrome/test/data/webui/settings/settings_main_test.js
|
| +++ b/chrome/test/data/webui/settings/settings_main_test.js
|
| @@ -2,7 +2,7 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -cr.define('settings_main_page', function() {
|
| +cr.define('settings_test', function() {
|
| /**
|
| * Extending TestBrowserProxy even though SearchManager is not a browser proxy
|
| * itself. Essentially TestBrowserProxy can act as a "proxy" for any external
|
| @@ -22,7 +22,7 @@ cr.define('settings_main_page', function() {
|
|
|
| /** @private {?settings.SearchRequest} */
|
| this.searchRequest_ = null;
|
| - }
|
| + };
|
|
|
| TestSearchManager.prototype = {
|
| __proto__: settings.TestBrowserProxy.prototype,
|
| @@ -48,21 +48,25 @@ cr.define('settings_main_page', function() {
|
| },
|
| };
|
|
|
| - function registerTests() {
|
| - var settingsPrefs = null;
|
| -
|
| - suiteSetup(function() {
|
| - settingsPrefs = document.createElement('settings-prefs');
|
| - return CrSettingsPrefs.initialized;
|
| - });
|
| -
|
| suite('MainPageTests', function() {
|
| + /** @type {?SettingsPrefsElement} */
|
| + var settingsPrefs = null;
|
| +
|
| /** @type {?TestSearchManager} */
|
| var searchManager = null;
|
|
|
| /** @type {?SettingsMainElement} */
|
| var settingsMain = null;
|
|
|
| + suiteSetup(function() {
|
| + CrOncStrings = {};
|
| + settingsPrefs = document.createElement('settings-prefs');
|
| + var fakePrefs = [];
|
| + var fakeApi = new settings.FakeSettingsPrivate(fakePrefs);
|
| + settingsPrefs.initialize(fakeApi);
|
| + return CrSettingsPrefs.initialized;
|
| + });
|
| +
|
| setup(function() {
|
| settings.navigateTo(settings.Route.BASIC);
|
| searchManager = new TestSearchManager();
|
| @@ -76,7 +80,9 @@ cr.define('settings_main_page', function() {
|
| document.body.appendChild(settingsMain);
|
| });
|
|
|
| - teardown(function() { settingsMain.remove(); });
|
| + teardown(function() {
|
| + settingsMain.remove();
|
| + });
|
|
|
| test('searchContents() triggers SearchManager', function() {
|
| Polymer.dom.flush();
|
| @@ -169,17 +175,22 @@ cr.define('settings_main_page', function() {
|
|
|
| /**
|
| * Asserts the visibility of the basic and advanced pages.
|
| - * @param {string} Expected 'display' value for the basic page.
|
| - * @param {string} Expected 'display' value for the advanced page.
|
| + * @param {string} expectedBasic 'display' value for the basic page.
|
| + * @param {string} expectedAdvanced 'display' value for the advanced page.
|
| */
|
| function assertPageVisibility(expectedBasic, expectedAdvanced) {
|
| Polymer.dom.flush();
|
| var page = settingsMain.$$('settings-basic-page');
|
| - assertEquals(
|
| - expectedBasic, page.$$('#basicPage').style.display);
|
| - assertEquals(
|
| - expectedAdvanced,
|
| - page.$$('#advancedPageTemplate').get().style.display);
|
| + assertEquals(expectedBasic, page.$$('#basicPage').style.display);
|
| +
|
| + var advanced = page.$$('#advancedPage');
|
| + if (!advanced) {
|
| + assertEquals(expectedAdvanced, 'none');
|
| + } else if (advanced.hidden) {
|
| + assertEquals(expectedAdvanced, 'none');
|
| + } else {
|
| + assertEquals(expectedAdvanced, advanced.style.display);
|
| + }
|
| }
|
|
|
| // TODO(michaelpg): It would be better not to drill into
|
| @@ -209,6 +220,7 @@ cr.define('settings_main_page', function() {
|
| // Simulating searching while the advanced page is collapsed.
|
| settingsMain.currentRouteChanged(settings.Route.BASIC);
|
| Polymer.dom.flush();
|
| + assertPageVisibility('', 'none');
|
| return assertPageVisibilityAfterSearch('', 'none');
|
| });
|
|
|
| @@ -256,21 +268,80 @@ cr.define('settings_main_page', function() {
|
| assertPageVisibility('', 'none');
|
| });
|
|
|
| + test('navigating to an advanced page expands advanced', function() {
|
| + settings.navigateTo(settings.Route.PRIVACY);
|
| + Polymer.dom.flush();
|
| + return Polymer.Base.async(function() {
|
| + assertToggleContainerVisible(true);
|
| + assertPageVisibility('', '');
|
| + });
|
| + });
|
| +
|
| test('navigating to a basic page does not collapse advanced', function() {
|
| settings.navigateTo(settings.Route.PRIVACY);
|
| Polymer.dom.flush();
|
| + return Promise.all([
|
| + Polymer.Base.async(function() {
|
| + assertToggleContainerVisible(true);
|
| + assertPageVisibility('', '');
|
| +
|
| + settings.navigateTo(settings.Route.PEOPLE);
|
| + Polymer.dom.flush();
|
| + }),
|
| + Polymer.Base.async(function() {
|
| + assertPageVisibility('', '');
|
| + })
|
| + ]);
|
| + });
|
|
|
| - assertToggleContainerVisible(true);
|
| + test('basic pageVisibility', function() {
|
| + Polymer.dom.flush();
|
| + var page = settingsMain.$$('settings-basic-page');
|
| + assertTrue(!!page);
|
| + return Polymer.Base.async(function() {
|
| + assertTrue(!!page.$$('settings-section[section="people"]'));
|
| + assertTrue(!!page.$$('settings-section[section="appearance"]'));
|
| + assertFalse(!!page.$$('settings-section[section="privacy"]'));
|
| + assertFalse(
|
| + !!page.$$('settings-section[section="passwordsAndForms"]'));
|
| + });
|
| + });
|
|
|
| - settings.navigateTo(settings.Route.PEOPLE);
|
| + test('advanced pageVisibility', function() {
|
| + Polymer.dom.flush();
|
| + var page = settingsMain.$$('settings-basic-page');
|
| + var advancedToggle = page.$$('#advancedToggle');
|
| + assertTrue(!!advancedToggle);
|
| + MockInteractions.tap(advancedToggle);
|
| Polymer.dom.flush();
|
| + return Polymer.Base.async(function() {
|
| + assertTrue(!!page.$$('settings-section[section="people"]'));
|
| + assertTrue(!!page.$$('settings-section[section="appearance"]'));
|
| + assertTrue(!!page.$$('settings-section[section="privacy"]'));
|
| + assertTrue(
|
| + !!page.$$('settings-section[section="passwordsAndForms"]'));
|
| + });
|
| + });
|
|
|
| - assertPageVisibility('', '');
|
| + test('custom pageVisibility', function() {
|
| + Polymer.dom.flush();
|
| + var page = settingsMain.$$('settings-basic-page');
|
| + assertTrue(!!page);
|
| + Polymer.dom.flush();
|
| + return Promise.all([
|
| + Polymer.Base.async(function() {
|
| + assertTrue(!!page.$$('settings-section[section="people"]'));
|
| + assertTrue(!!page.$$('settings-section[section="appearance"]'));
|
| + }),
|
| + Polymer.Base.async(function() {
|
| + page.set('pageVisibility.appearance', false);
|
| + Polymer.dom.flush();
|
| + }),
|
| + Polymer.Base.async(function() {
|
| + assertTrue(!!page.$$('settings-section[section="people"]'));
|
| + assertFalse(!!page.$$('settings-section[section="appearance"]'));
|
| + })
|
| + ]);
|
| });
|
| });
|
| - }
|
| -
|
| - return {
|
| - registerTests: registerTests,
|
| - };
|
| });
|
|
|