Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Utility functions for settings WebUI page. | 5 // Utility functions for settings WebUI page. |
| 6 function refreshPage() { | 6 var util = { |
| 7 window.location.reload(); | 7 'refreshPage': function() { |
| 8 } | 8 window.location.reload(); |
| 9 }, | |
| 10 'openUnderTheHood': function() { | |
| 11 var item = $('advancedPageNav'); | |
| 12 assertTrue(item != null); | |
| 13 assertTrue(item.onclick != null); | |
| 14 item.onclick(); | |
| 15 }, | |
| 16 }; | |
| 9 | 17 |
| 10 function openUnderTheHood() { | 18 (function() { |
| 11 var item = $('advancedPageNav'); | 19 function MockHandler() { |
| 12 assertTrue(item != null); | 20 this.__proto__ = MockHandler.prototype; |
| 13 assertTrue(item.onclick != null); | 21 } |
| 14 item.onclick(); | 22 |
| 15 } | 23 MockHandler.prototype = { |
| 24 'called': false, | |
| 25 'setBooleanPref': function(inlist) { | |
| 26 var true_list_value = ['browser.show_home_button', | |
| 27 true, | |
| 28 'Options_Homepage_HomeButton']; | |
| 29 assertEqualsArray(true_list_value, inlist); | |
| 30 }, | |
| 31 'coreOptionsInitialize': function() { | |
| 32 console.log('coreOptionsInitialize'); | |
| 33 }, | |
| 34 'fetchPrefs': function() { | |
| 35 console.log('fetchPrefs'); | |
| 36 }, | |
| 37 'observePrefs': function() { | |
| 38 console.log('observePrefs'); | |
| 39 }, | |
| 40 'setBooleanPref': function(inlist) { | |
| 41 console.log('setBooleanPref'); | |
| 42 var true_list_value = ['browser.show_home_button', | |
| 43 true, | |
| 44 'Options_Homepage_HomeButton']; | |
| 45 assertEqualsArray(true_list_value, inlist); | |
| 46 }, | |
| 47 'setIntegerPref': function() { | |
| 48 console.log('setIntegerPref'); | |
| 49 }, | |
| 50 'setDoublePref': function() { | |
| 51 console.log('setDoublePref'); | |
| 52 }, | |
| 53 'setStringPref': function() { | |
| 54 console.log('setStringPref'); | |
| 55 }, | |
| 56 'setObjectPref': function() { | |
| 57 console.log('setObjectPref'); | |
| 58 }, | |
| 59 'clearPref': function() { | |
| 60 console.log('clearPref'); | |
| 61 }, | |
| 62 'coreOptionsUserMetricsAction': function() { | |
| 63 console.log('coreOptionsUserMetricsAction'); | |
| 64 }, | |
| 65 }; | |
| 66 | |
| 67 function registerCallbacks() { | |
| 68 console.log('registeringCallbacks'); | |
| 69 var mock_handler = new MockHandler(); | |
| 70 for (func in MockHandler.prototype) { | |
| 71 if (typeof(mock_handler[func]) == 'function') | |
| 72 registerMessageCallback(func, | |
| 73 mock_handler, | |
| 74 mock_handler[func]); | |
| 75 } | |
| 76 }; | |
| 77 | |
| 78 if ('window' in this && 'registerMessageCallback' in window) | |
| 79 registerCallbacks(); | |
| 80 })(); | |
| 81 | |
| 16 | 82 |
| 17 // Tests. | 83 // Tests. |
| 18 function testSetBooleanPrefTriggers() { | 84 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
| |
| 19 // TODO(dtseng): make generic to click all buttons. | 85 // TODO(dtseng): make generic to click all buttons. |
| 20 var showHomeButton = $('toolbarShowHomeButton'); | 86 var showHomeButton = $('toolbarShowHomeButton'); |
| 21 assertTrue(showHomeButton != null); | 87 assertTrue(showHomeButton != null); |
| 22 showHomeButton.click(); | 88 showHomeButton.click(); |
| 23 showHomeButton.blur(); | 89 showHomeButton.blur(); |
| 24 } | 90 } |
| 25 | 91 |
| 92 // Crashes on Mac only. See http://crbug.com/79181 | |
| 93 if (this['OS_MACOSX'] !== undefined) { | |
| 94 this['DISABLED_testSetBooleanPrefTriggers'] = testSetBooleanPrefTriggers; | |
| 95 delete testSetBooleanPrefTriggers; | |
| 96 } | |
| 97 | |
| 26 function testPageIsUnderTheHood() { | 98 function testPageIsUnderTheHood() { |
| 99 util.openUnderTheHood(); | |
| 100 util.refreshPage(); | |
| 27 var pageInstance = AdvancedOptions.getInstance(); | 101 var pageInstance = AdvancedOptions.getInstance(); |
| 28 var topPage = OptionsPage.getTopmostVisiblePage(); | 102 var topPage = OptionsPage.getTopmostVisiblePage(); |
| 29 var expectedTitle = pageInstance.title; | 103 var expectedTitle = pageInstance.title; |
| 30 var actualTitle = document.title; | 104 var actualTitle = document.title; |
| 31 assertEquals("chrome://settings/advanced", document.location.href); | 105 assertEquals("chrome://settings/advanced", document.location.href); |
| 32 assertEquals(expectedTitle, actualTitle); | 106 assertEquals(expectedTitle, actualTitle); |
| 33 assertEquals(pageInstance, topPage); | 107 assertEquals(pageInstance, topPage); |
| 34 } | 108 } |
| 109 | |
| 110 // Not meant to run on ChromeOS at this time. | |
| 111 // Not finishing in windows. http://crbug.com/81723 | |
| 112 if (this['OS_CHROMEOS'] !== undefined || | |
| 113 this['OS_MACOSX'] !== undefined || | |
| 114 this['OS_WIN'] !== undefined || | |
| 115 this['TOUCH_UI'] !== undefined) { | |
| 116 this['DISABLED_testPageIsUnderTheHood'] = testPageIsUnderTheHood; | |
| 117 delete testPageIsUnderTheHood; | |
| 118 } | |
| 119 | |
| 120 var test_fixture = 'SettingsWebUITest'; | |
| 121 var test_browse_preload = 'chrome://settings'; | |
| OLD | NEW |