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..591771f0972cec2b4d78f944ee7846d293605575 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); |
+ var expectedUrl = (typeof opt_expectedUrl == 'undefined') ? |
+ lastExpected : opt_expectedUrl; |
+ var fullExpectedUrl = 'chrome://settings-frame/' + 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']); |