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 |