Index: chrome/test/data/webui/settings.js |
diff --git a/chrome/test/data/webui/settings.js b/chrome/test/data/webui/settings.js |
index 2e4453687a150db20d2ac88c713ef3447ce5ef73..48447e9cd0719c4a83f6948bee80aa3d8fbcd069 100644 |
--- a/chrome/test/data/webui/settings.js |
+++ b/chrome/test/data/webui/settings.js |
@@ -3,16 +3,82 @@ |
// found in the LICENSE file. |
// Utility functions for settings WebUI page. |
-function refreshPage() { |
- window.location.reload(); |
-} |
+var util = { |
+ 'refreshPage': function() { |
+ window.location.reload(); |
+ }, |
+ 'openUnderTheHood': function() { |
+ var item = $('advancedPageNav'); |
+ assertTrue(item != null); |
+ assertTrue(item.onclick != null); |
+ item.onclick(); |
+ }, |
+}; |
+ |
+(function() { |
+ function MockHandler() { |
+ this.__proto__ = MockHandler.prototype; |
+ } |
+ |
+ MockHandler.prototype = { |
+ 'called': false, |
+ 'setBooleanPref': function(inlist) { |
+ var true_list_value = ['browser.show_home_button', |
+ true, |
+ 'Options_Homepage_HomeButton']; |
+ assertEqualsArray(true_list_value, inlist); |
+ }, |
+ 'coreOptionsInitialize': function() { |
+ console.log('coreOptionsInitialize'); |
+ }, |
+ 'fetchPrefs': function() { |
+ console.log('fetchPrefs'); |
+ }, |
+ 'observePrefs': function() { |
+ console.log('observePrefs'); |
+ }, |
+ 'setBooleanPref': function(inlist) { |
+ console.log('setBooleanPref'); |
+ var true_list_value = ['browser.show_home_button', |
+ true, |
+ 'Options_Homepage_HomeButton']; |
+ assertEqualsArray(true_list_value, inlist); |
+ }, |
+ 'setIntegerPref': function() { |
+ console.log('setIntegerPref'); |
+ }, |
+ 'setDoublePref': function() { |
+ console.log('setDoublePref'); |
+ }, |
+ 'setStringPref': function() { |
+ console.log('setStringPref'); |
+ }, |
+ 'setObjectPref': function() { |
+ console.log('setObjectPref'); |
+ }, |
+ 'clearPref': function() { |
+ console.log('clearPref'); |
+ }, |
+ 'coreOptionsUserMetricsAction': function() { |
+ console.log('coreOptionsUserMetricsAction'); |
+ }, |
+ }; |
+ |
+ function registerCallbacks() { |
+ console.log('registeringCallbacks'); |
+ var mock_handler = new MockHandler(); |
+ for (func in MockHandler.prototype) { |
+ if (typeof(mock_handler[func]) == 'function') |
+ registerMessageCallback(func, |
+ mock_handler, |
+ mock_handler[func]); |
+ } |
+ }; |
+ |
+ if ('window' in this && 'registerMessageCallback' in window) |
+ registerCallbacks(); |
+})(); |
-function openUnderTheHood() { |
- var item = $('advancedPageNav'); |
- assertTrue(item != null); |
- assertTrue(item.onclick != null); |
- item.onclick(); |
-} |
// Tests. |
function testSetBooleanPrefTriggers() { |
David Tseng
2011/07/07 19:26:28
When do you assert that the proper handler gets ca
Sheridan Rawlins
2011/07/07 23:39:23
Good point. As we discussed, I'll try to pull in
|
@@ -23,7 +89,15 @@ function testSetBooleanPrefTriggers() { |
showHomeButton.blur(); |
} |
+// Crashes on Mac only. See http://crbug.com/79181 |
+if (this['OS_MACOSX'] !== undefined) { |
+ this['DISABLED_testSetBooleanPrefTriggers'] = testSetBooleanPrefTriggers; |
+ delete testSetBooleanPrefTriggers; |
+} |
+ |
function testPageIsUnderTheHood() { |
+ util.openUnderTheHood(); |
+ util.refreshPage(); |
var pageInstance = AdvancedOptions.getInstance(); |
var topPage = OptionsPage.getTopmostVisiblePage(); |
var expectedTitle = pageInstance.title; |
@@ -32,3 +106,16 @@ function testPageIsUnderTheHood() { |
assertEquals(expectedTitle, actualTitle); |
assertEquals(pageInstance, topPage); |
} |
+ |
+// Not meant to run on ChromeOS at this time. |
+// Not finishing in windows. http://crbug.com/81723 |
+if (this['OS_CHROMEOS'] !== undefined || |
+ this['OS_MACOSX'] !== undefined || |
+ this['OS_WIN'] !== undefined || |
+ this['TOUCH_UI'] !== undefined) { |
+ this['DISABLED_testPageIsUnderTheHood'] = testPageIsUnderTheHood; |
+ delete testPageIsUnderTheHood; |
+} |
+ |
+var test_fixture = 'SettingsWebUITest'; |
+var test_browse_preload = 'chrome://settings'; |