Chromium Code Reviews| Index: chrome/browser/ui/webui/options/options_browsertest.js |
| diff --git a/chrome/browser/ui/webui/options/options_browsertest.js b/chrome/browser/ui/webui/options/options_browsertest.js |
| index 9b15733a2977adea03516ed26826197652cfad82..1f3e30e89aca13a76eda7c25aafeb8d618b5c6ec 100644 |
| --- a/chrome/browser/ui/webui/options/options_browsertest.js |
| +++ b/chrome/browser/ui/webui/options/options_browsertest.js |
| @@ -381,19 +381,19 @@ OptionsWebUIExtendedTest.prototype = { |
| * Verifies that the correct pages are currently open/visible. |
| * @param {!Array.<string>} expectedPages An array of page names expected to |
| * be open, with the topmost listed last. |
| - * @param {string=} expectedUrl The URL path, including hash, expected to be |
| - * open. If undefined, the topmost (last) page name in |expectedPages| |
| + * @param {string=} opt_expectedUrl The URL path, including hash, expected to |
| + * be open. If undefined, the topmost (last) page name in |expectedPages| |
| * will be used. In either case, 'chrome://settings-frame/' will be |
| * prepended. |
| * @private |
| */ |
| - verifyOpenPages_: function(expectedPages, expectedUrl) { |
| + verifyOpenPages_: function(expectedPages, opt_expectedUrl) { |
| // Check the topmost page. |
| - assertEquals(null, OptionsPage.getVisibleBubble()); |
| + expectEquals(null, OptionsPage.getVisibleBubble()); |
| var currentPage = OptionsPage.getTopmostVisiblePage(); |
| var lastExpected = expectedPages[expectedPages.length - 1]; |
| - assertEquals(lastExpected, currentPage.name); |
| + expectEquals(lastExpected, currentPage.name); |
| // We'd like to check the title too, but we have to load the settings-frame |
| // instead of the outer settings page in order to have access to |
| // OptionsPage, and setting the title from within the settings-frame fails |
| @@ -401,9 +401,10 @@ OptionsWebUIExtendedTest.prototype = { |
| // TODO(pamg): Add a test fixture that loads chrome://settings and uses |
| // UI elements to access sub-pages, so we can test the titles and |
| // search-page URLs. |
| - var fullExpectedUrl = 'chrome://settings-frame/' + |
| - (expectedUrl ? expectedUrl : lastExpected); |
| - assertEquals(fullExpectedUrl, window.location.href); |
| + opt_expectedUrl = |
| + (opt_expectedUrl == undefined) ? lastExpected : opt_expectedUrl; |
|
Dan Beam
2014/05/19 23:49:10
nit: rather than re-use this opt_ variable here, d
davidben
2014/05/20 00:12:55
Done.
|
| + var fullExpectedUrl = 'chrome://settings-frame/' + opt_expectedUrl; |
| + expectEquals(fullExpectedUrl, window.location.href); |
| // Collect open pages. |
| var allPageNames = Object.keys(OptionsPage.registeredPages).concat( |
| @@ -483,7 +484,7 @@ TEST_F('OptionsWebUIExtendedTest', 'DISABLED_ShowSearchPageNoQuery', |
| // Show a page without updating history. |
| TEST_F('OptionsWebUIExtendedTest', 'ShowPageNoHistory', function() { |
| - this.verifyOpenPages_(['settings']); |
| + this.verifyOpenPages_(['settings'], ''); |
| // There are only two main pages, 'settings' and 'search'. It's not possible |
| // to show the search page using OptionsPage.showPageByName, because it |
| // reverts to the settings page if it has no search text set. So we show the |
| @@ -494,12 +495,12 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowPageNoHistory', function() { |
| // the search results. Furthermore, the URL hasn't been updated in the parent |
| // page, because we've loaded the chrome-settings frame instead of the whole |
| // settings page, so the cross-origin call to set the URL fails. |
| - this.verifyOpenPages_(['settings', 'search'], 'settings#query'); |
| + this.verifyOpenPages_(['settings', 'search'], 'search#query'); |
| var self = this; |
| - this.verifyHistory_(['settings', 'settings#query'], function() { |
| + this.verifyHistory_(['', 'search#query'], function() { |
| OptionsPage.showPageByName('settings', false); |
| - self.verifyOpenPages_(['settings'], 'settings#query'); |
| - self.verifyHistory_(['settings', 'settings#query'], testDone); |
| + self.verifyOpenPages_(['settings'], 'search#query'); |
| + self.verifyHistory_(['', 'search#query'], testDone); |
| }); |
| }); |
| @@ -507,10 +508,10 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowPageWithHistory', function() { |
| // See comments for ShowPageNoHistory. |
| $('search-field').onsearch({currentTarget: {value: 'query'}}); |
| var self = this; |
| - this.verifyHistory_(['settings', 'settings#query'], function() { |
| + this.verifyHistory_(['', 'search#query'], function() { |
| OptionsPage.showPageByName('settings', true); |
| - self.verifyOpenPages_(['settings'], 'settings#query'); |
| - self.verifyHistory_(['settings', 'settings#query', 'settings#query'], |
| + self.verifyOpenPages_(['settings'], '#query'); |
| + self.verifyHistory_(['', 'search#query', '#query'], |
| testDone); |
| }); |
| }); |
| @@ -519,10 +520,10 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowPageReplaceHistory', function() { |
| // See comments for ShowPageNoHistory. |
| $('search-field').onsearch({currentTarget: {value: 'query'}}); |
| var self = this; |
| - this.verifyHistory_(['settings', 'settings#query'], function() { |
| + this.verifyHistory_(['', 'search#query'], function() { |
| OptionsPage.showPageByName('settings', true, {'replaceState': true}); |
| - self.verifyOpenPages_(['settings'], 'settings#query'); |
| - self.verifyHistory_(['settings', 'settings#query'], testDone); |
| + self.verifyOpenPages_(['settings'], '#query'); |
| + self.verifyHistory_(['', '#query'], testDone); |
| }); |
| }); |
| @@ -531,10 +532,10 @@ TEST_F('OptionsWebUIExtendedTest', 'NavigateToPage', function() { |
| // See comments for ShowPageNoHistory. |
| $('search-field').onsearch({currentTarget: {value: 'query'}}); |
| var self = this; |
| - this.verifyHistory_(['settings', 'settings#query'], function() { |
| + this.verifyHistory_(['', 'search#query'], function() { |
| OptionsPage.navigateToPage('settings'); |
| - self.verifyOpenPages_(['settings'], 'settings#query'); |
| - self.verifyHistory_(['settings', 'settings#query', 'settings#query'], |
| + self.verifyOpenPages_(['settings'], '#query'); |
| + self.verifyHistory_(['', 'search#query', '#query'], |
| testDone); |
| }); |
| }); |
| @@ -544,16 +545,16 @@ TEST_F('OptionsWebUIExtendedTest', 'NavigateToPage', function() { |
| TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayNoHistory', function() { |
| // Open a layer-1 overlay, not updating history. |
| OptionsPage.showPageByName('languages', false); |
| - this.verifyOpenPages_(['settings', 'languages'], 'settings'); |
| + this.verifyOpenPages_(['settings', 'languages'], ''); |
| var self = this; |
| - this.verifyHistory_(['settings'], function() { |
| + this.verifyHistory_([''], function() { |
| // Open a layer-2 overlay for which the layer-1 is a parent, not updating |
| // history. |
| OptionsPage.showPageByName('addLanguage', false); |
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage'], |
| - 'settings'); |
| - self.verifyHistory_(['settings'], testDone); |
| + ''); |
| + self.verifyHistory_([''], testDone); |
| }); |
| }); |
| @@ -563,11 +564,11 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayWithHistory', function() { |
| this.verifyOpenPages_(['settings', 'languages']); |
| var self = this; |
| - this.verifyHistory_(['settings', 'languages'], function() { |
| + this.verifyHistory_(['', 'languages'], function() { |
| // Open a layer-2 overlay, updating history. |
| OptionsPage.showPageByName('addLanguage', true); |
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], testDone); |
| + self.verifyHistory_(['', 'languages', 'addLanguage'], testDone); |
| }); |
| }); |
| @@ -575,11 +576,11 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayReplaceHistory', function() { |
| // Open a layer-1 overlay, updating history. |
| OptionsPage.showPageByName('languages', true); |
| var self = this; |
| - this.verifyHistory_(['settings', 'languages'], function() { |
| + this.verifyHistory_(['', 'languages'], function() { |
| // Open a layer-2 overlay, replacing history. |
| OptionsPage.showPageByName('addLanguage', true, {'replaceState': true}); |
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| - self.verifyHistory_(['settings', 'addLanguage'], testDone); |
| + self.verifyHistory_(['', 'addLanguage'], testDone); |
| }); |
| }); |
| @@ -590,7 +591,7 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowOverlayFurtherAbove', function() { |
| OptionsPage.showPageByName('addLanguage', true); |
| this.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| var self = this; |
| - this.verifyHistory_(['settings', 'addLanguage'], testDone); |
| + this.verifyHistory_(['', 'addLanguage'], testDone); |
| }); |
| // Directly show a layer-2 overlay for which the layer-1 overlay is not a |
| @@ -601,11 +602,11 @@ TEST_F('OptionsWebUIExtendedTest', 'ShowUnrelatedOverlay', function() { |
| this.verifyOpenPages_(['settings', 'languages']); |
| var self = this; |
| - this.verifyHistory_(['settings', 'languages'], function() { |
| + this.verifyHistory_(['', 'languages'], function() { |
| // Open an unrelated layer-2 overlay. |
| OptionsPage.showPageByName('cookies', true); |
| self.verifyOpenPages_(['settings', 'content', 'cookies']); |
| - self.verifyHistory_(['settings', 'languages', 'cookies'], testDone); |
| + self.verifyHistory_(['', 'languages', 'cookies'], testDone); |
| }); |
| }); |
| @@ -618,18 +619,18 @@ TEST_F('OptionsWebUIExtendedTest', 'CloseOverlay', function() { |
| this.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| var self = this; |
| - this.verifyHistory_(['settings', 'languages', 'addLanguage'], function() { |
| + this.verifyHistory_(['', 'languages', 'addLanguage'], function() { |
| // Close the layer-2 overlay. |
| OptionsPage.closeOverlay(); |
| self.verifyOpenPages_(['settings', 'languages']); |
| self.verifyHistory_( |
| - ['settings', 'languages', 'addLanguage', 'languages'], |
| + ['', 'languages', 'addLanguage', 'languages'], |
| function() { |
| // Close the layer-1 overlay. |
| OptionsPage.closeOverlay(); |
| - self.verifyOpenPages_(['settings']); |
| + self.verifyOpenPages_(['settings'], ''); |
| self.verifyHistory_( |
| - ['settings', 'languages', 'addLanguage', 'languages', 'settings'], |
| + ['', 'languages', 'addLanguage', 'languages', ''], |
| testDone); |
| }); |
| }); |
| @@ -657,25 +658,25 @@ TEST_F('OptionsWebUIExtendedTest', 'OverlayTabNavigation', function() { |
| // Go back twice, then forward twice. |
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], function() { |
| + self.verifyHistory_(['', 'languages', 'addLanguage'], function() { |
| window.history.back(); |
| waitForPopstate(function() { |
| self.verifyOpenPages_(['settings', 'languages']); |
| - self.verifyHistory_(['settings', 'languages'], function() { |
| + self.verifyHistory_(['', 'languages'], function() { |
| window.history.back(); |
| waitForPopstate(function() { |
| - self.verifyOpenPages_(['settings']); |
| - self.verifyHistory_(['settings'], function() { |
| + self.verifyOpenPages_(['settings'], ''); |
| + self.verifyHistory_([''], function() { |
| window.history.forward(); |
| waitForPopstate(function() { |
| self.verifyOpenPages_(['settings', 'languages']); |
| - self.verifyHistory_(['settings', 'languages'], function() { |
| + self.verifyHistory_(['', 'languages'], function() { |
| window.history.forward(); |
| waitForPopstate(function() { |
| self.verifyOpenPages_( |
| ['settings', 'languages', 'addLanguage']); |
| self.verifyHistory_( |
| - ['settings', 'languages', 'addLanguage'], testDone); |
| + ['', 'languages', 'addLanguage'], testDone); |
| }); |
| }); |
| }); |
| @@ -695,19 +696,19 @@ TEST_F('OptionsWebUIExtendedTest', 'OverlayBackToChild', function() { |
| var self = this; |
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], function() { |
| + self.verifyHistory_(['', 'languages', 'addLanguage'], function() { |
| // Close the top overlay, then go back to it. |
| OptionsPage.closeOverlay(); |
| self.verifyOpenPages_(['settings', 'languages']); |
| self.verifyHistory_( |
| - ['settings', 'languages', 'addLanguage', 'languages'], |
| + ['', 'languages', 'addLanguage', 'languages'], |
| function() { |
| // Going back to the 'addLanguage' page should not close 'languages'. |
| self.prohibitChangesToOverlay_(options.LanguageOptions.getInstance()); |
| window.history.back(); |
| waitForPopstate(function() { |
| self.verifyOpenPages_(['settings', 'languages', 'addLanguage']); |
| - self.verifyHistory_(['settings', 'languages', 'addLanguage'], |
| + self.verifyHistory_(['', 'languages', 'addLanguage'], |
| testDone); |
| }); |
| }); |
| @@ -721,7 +722,7 @@ TEST_F('OptionsWebUIExtendedTest', 'OverlayBackToUnrelated', function() { |
| OptionsPage.showPageByName('cookies', true); |
| var self = this; |
| self.verifyOpenPages_(['settings', 'content', 'cookies']); |
| - self.verifyHistory_(['settings', 'languages', 'cookies'], function() { |
| + self.verifyHistory_(['', 'languages', 'cookies'], function() { |
| window.history.back(); |
| waitForPopstate(function() { |
| self.verifyOpenPages_(['settings', 'languages']); |