Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(261)

Side by Side Diff: chrome/test/data/webui/settings/search_page_test.js

Issue 2835933007: MD Settings: show when the default search engine is controlled by policy (Closed)
Patch Set: fix typo, dpapad@ review Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/resources/settings/search_page/search_page.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 cr.define('settings_search_page', function() { 5 cr.define('settings_search_page', function() {
6 function generateSearchEngineInfo() { 6 function generateSearchEngineInfo() {
7 var searchEngines0 = settings_search.createSampleSearchEngine( 7 var searchEngines0 = settings_search.createSampleSearchEngine(
8 true, false, false); 8 true, false, false);
9 searchEngines0.default = true; 9 searchEngines0.default = true;
10 var searchEngines1 = settings_search.createSampleSearchEngine( 10 var searchEngines1 = settings_search.createSampleSearchEngine(
(...skipping 16 matching lines...) Expand all
27 var page = null; 27 var page = null;
28 28
29 var browserProxy = null; 29 var browserProxy = null;
30 30
31 setup(function() { 31 setup(function() {
32 browserProxy = new settings_search.TestSearchEnginesBrowserProxy(); 32 browserProxy = new settings_search.TestSearchEnginesBrowserProxy();
33 browserProxy.setSearchEnginesInfo(generateSearchEngineInfo()); 33 browserProxy.setSearchEnginesInfo(generateSearchEngineInfo());
34 settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy; 34 settings.SearchEnginesBrowserProxyImpl.instance_ = browserProxy;
35 PolymerTest.clearBody(); 35 PolymerTest.clearBody();
36 page = document.createElement('settings-search-page'); 36 page = document.createElement('settings-search-page');
37 page.prefs = {
38 default_search_provider_data: {
39 template_url_data: {},
40 },
41 };
37 document.body.appendChild(page); 42 document.body.appendChild(page);
38 }); 43 });
39 44
40 teardown(function() { page.remove(); }); 45 teardown(function() { page.remove(); });
41 46
42 // Tests that the page is querying and displaying search engine info on 47 // Tests that the page is querying and displaying search engine info on
43 // startup. 48 // startup.
44 test('Initialization', function() { 49 test('Initialization', function() {
45 var selectElement = page.$$('select'); 50 var selectElement = page.$$('select');
46 51
(...skipping 26 matching lines...) Expand all
73 }); 78 });
74 }); 79 });
75 }); 80 });
76 81
77 test('ControlledByExtension', function() { 82 test('ControlledByExtension', function() {
78 return browserProxy.whenCalled('getSearchEnginesList').then(function() { 83 return browserProxy.whenCalled('getSearchEnginesList').then(function() {
79 var selectElement = page.$$('select'); 84 var selectElement = page.$$('select');
80 assertFalse(selectElement.disabled); 85 assertFalse(selectElement.disabled);
81 assertFalse(!!page.$$('extension-controlled-indicator')); 86 assertFalse(!!page.$$('extension-controlled-indicator'));
82 87
83 page.prefs = { 88 page.set('prefs.default_search_provider_data.template_url_data', {
84 default_search_provider: { 89 controlledBy: chrome.settingsPrivate.ControlledBy.EXTENSION,
85 enabled: { 90 controlledByName: 'fake extension name',
86 controlledBy: chrome.settingsPrivate.ControlledBy.EXTENSION, 91 enforcement: chrome.settingsPrivate.Enforcement.ENFORCED,
87 controlledByName: 'fake extension name', 92 extensionId: 'fake extension id',
88 enforcement: chrome.settingsPrivate.Enforcement.ENFORCED, 93 extensionCanBeDisabled: true,
89 extensionId: 'fake extension id', 94 value: {},
90 extensionCanBeDisabled: true, 95 });
91 value: true,
92 },
93 },
94 };
95 Polymer.dom.flush(); 96 Polymer.dom.flush();
96 97
97 assertTrue(selectElement.disabled); 98 assertTrue(selectElement.disabled);
98 assertTrue(!!page.$$('extension-controlled-indicator')); 99 assertTrue(!!page.$$('extension-controlled-indicator'));
100 assertFalse(!!page.$$('cr-policy-pref-indicator'));
99 }); 101 });
100 }); 102 });
101 103
104 test('ControlledByPolicy', function() {
105 return browserProxy.whenCalled('getSearchEnginesList').then(function() {
106 var selectElement = page.$$('select');
107 assertFalse(selectElement.disabled);
108 assertFalse(!!page.$$('extension-controlled-indicator'));
109
110 page.set('prefs.default_search_provider_data.template_url_data', {
111 controlledBy: chrome.settingsPrivate.ControlledBy.USER_POLICY,
112 enforcement: chrome.settingsPrivate.Enforcement.ENFORCED,
113 value: {},
114 });
115 Polymer.dom.flush();
116
117 assertTrue(selectElement.disabled);
118 assertFalse(!!page.$$('extension-controlled-indicator'));
119 assertTrue(!!page.$$('cr-policy-pref-indicator'));
120 });
121 });
122
102 // Tests the UI when Hotword 'alwaysOn' is true. 123 // Tests the UI when Hotword 'alwaysOn' is true.
103 test('HotwordAlwaysOn', function() { 124 test('HotwordAlwaysOn', function() {
104 return browserProxy.whenCalled('getSearchEnginesList').then(function() { 125 return browserProxy.whenCalled('getSearchEnginesList').then(function() {
105 return browserProxy.whenCalled('getHotwordInfo'); 126 return browserProxy.whenCalled('getHotwordInfo');
106 }).then(function() { 127 }).then(function() {
107 Polymer.dom.flush(); 128 Polymer.dom.flush();
108 assertTrue(page.hotwordInfo_.allowed); 129 assertTrue(page.hotwordInfo_.allowed);
109 assertTrue(page.hotwordInfo_.alwaysOn); 130 assertTrue(page.hotwordInfo_.alwaysOn);
110 assertFalse(page.hotwordInfo_.enabled); 131 assertFalse(page.hotwordInfo_.enabled);
111 assertFalse(browserProxy.hotwordSearchEnabled); 132 assertFalse(browserProxy.hotwordSearchEnabled);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 return browserProxy.whenCalled('getGoogleNowAvailability').then( 178 return browserProxy.whenCalled('getGoogleNowAvailability').then(
158 function() { 179 function() {
159 Polymer.dom.flush(); 180 Polymer.dom.flush();
160 assertTrue(page.googleNowAvailable_); 181 assertTrue(page.googleNowAvailable_);
161 182
162 var control = page.$$('#googleNowEnable'); 183 var control = page.$$('#googleNowEnable');
163 assertTrue(!!control); 184 assertTrue(!!control);
164 assertFalse(control.disabled); 185 assertFalse(control.disabled);
165 assertFalse(control.checked); 186 assertFalse(control.checked);
166 187
167 page.prefs = { 188 page.set('prefs.google_now_launcher', {
168 google_now_launcher: { 189 enabled: {
169 enabled: { 190 type: chrome.settingsPrivate.PrefType.BOOLEAN,
170 type: chrome.settingsPrivate.PrefType.BOOLEAN, 191 value: true,
171 value: true, 192 },
172 } 193 });
173 }
174 };
175 Polymer.dom.flush(); 194 Polymer.dom.flush();
176 assertFalse(control.disabled); 195 assertFalse(control.disabled);
177 assertTrue(control.checked); 196 assertTrue(control.checked);
178 }); 197 });
179 }); 198 });
180 }); 199 });
181 } 200 }
182 201
183 return { 202 return {
184 registerTests: registerTests, 203 registerTests: registerTests,
185 }; 204 };
186 }); 205 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/search_page/search_page.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698