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

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

Issue 2848973003: MD Settings: convert paper-icon-button to paper-icon-button-light. (Closed)
Patch Set: add images in shared location to grd files Created 3 years, 6 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
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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('languages_page_tests', function() { 5 cr.define('languages_page_tests', function() {
6 /** @enum {string} */ 6 /** @enum {string} */
7 const TestNames = { 7 const TestNames = {
8 AddLanguagesDialog: 'add languages dialog', 8 AddLanguagesDialog: 'add languages dialog',
9 LanguageMenu: 'language menu', 9 LanguageMenu: 'language menu',
10 InputMethods: 'input methods', 10 InputMethods: 'input methods',
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after
209 assertTrue(actionMenu.open); 209 assertTrue(actionMenu.open);
210 for (var buttonKey of Object.keys(buttonVisibility)) { 210 for (var buttonKey of Object.keys(buttonVisibility)) {
211 var buttonItem = getMenuItem(buttonKey); 211 var buttonItem = getMenuItem(buttonKey);
212 assertEquals(!buttonVisibility[buttonKey], buttonItem.hidden, 212 assertEquals(!buttonVisibility[buttonKey], buttonItem.hidden,
213 'Menu item "' + buttonKey + '" hidden'); 213 'Menu item "' + buttonKey + '" hidden');
214 } 214 }
215 } 215 }
216 216
217 test('structure', function() { 217 test('structure', function() {
218 var languageOptionsDropdownTrigger = languagesCollapse.querySelector( 218 var languageOptionsDropdownTrigger = languagesCollapse.querySelector(
219 'paper-icon-button'); 219 'button');
220 assertTrue(!!languageOptionsDropdownTrigger); 220 assertTrue(!!languageOptionsDropdownTrigger);
221 MockInteractions.tap(languageOptionsDropdownTrigger); 221 MockInteractions.tap(languageOptionsDropdownTrigger);
222 assertTrue(actionMenu.open); 222 assertTrue(actionMenu.open);
223 223
224 var separator = actionMenu.querySelector('hr'); 224 var separator = actionMenu.querySelector('hr');
225 assertEquals(1, separator.offsetHeight); 225 assertEquals(1, separator.offsetHeight);
226 226
227 // Disable Translate. On platforms that can't change the UI language, 227 // Disable Translate. On platforms that can't change the UI language,
228 // this hides all the checkboxes, so the separator isn't needed. 228 // this hides all the checkboxes, so the separator isn't needed.
229 // Chrome OS and Windows still show a checkbox and thus the separator. 229 // Chrome OS and Windows still show a checkbox and thus the separator.
(...skipping 15 matching lines...) Expand all
245 245
246 // Clicking on the toggle switches it to true again. 246 // Clicking on the toggle switches it to true again.
247 MockInteractions.tap(paperToggle); 247 MockInteractions.tap(paperToggle);
248 newToggleValue = languageHelper.prefs.translate.enabled.value; 248 newToggleValue = languageHelper.prefs.translate.enabled.value;
249 assertTrue(newToggleValue); 249 assertTrue(newToggleValue);
250 }); 250 });
251 251
252 test('toggle translate for a specific language', function(done) { 252 test('toggle translate for a specific language', function(done) {
253 // Open options for 'sw'. 253 // Open options for 'sw'.
254 var languageOptionsDropdownTrigger = 254 var languageOptionsDropdownTrigger =
255 languagesCollapse.querySelectorAll('paper-icon-button')[1]; 255 languagesCollapse.querySelectorAll('button')[1];
256 assertTrue(!!languageOptionsDropdownTrigger); 256 assertTrue(!!languageOptionsDropdownTrigger);
257 MockInteractions.tap(languageOptionsDropdownTrigger); 257 MockInteractions.tap(languageOptionsDropdownTrigger);
258 assertTrue(actionMenu.open); 258 assertTrue(actionMenu.open);
259 259
260 // 'sw' supports translate to the target language ('en'). 260 // 'sw' supports translate to the target language ('en').
261 var translateOption = getMenuItem('offerToTranslateInThisLanguage'); 261 var translateOption = getMenuItem('offerToTranslateInThisLanguage');
262 assertFalse(translateOption.disabled); 262 assertFalse(translateOption.disabled);
263 assertTrue(translateOption.checked); 263 assertTrue(translateOption.checked);
264 264
265 // Toggle the translate option. 265 // Toggle the translate option.
(...skipping 10 matching lines...) Expand all
276 done(); 276 done();
277 }, settings.kMenuCloseDelay + 1); 277 }, settings.kMenuCloseDelay + 1);
278 }); 278 });
279 279
280 test('disable translate hides language-specific option', function() { 280 test('disable translate hides language-specific option', function() {
281 // Disables translate. 281 // Disables translate.
282 languageHelper.setPrefValue('translate.enabled', false); 282 languageHelper.setPrefValue('translate.enabled', false);
283 283
284 // Open options for 'sw'. 284 // Open options for 'sw'.
285 var languageOptionsDropdownTrigger = 285 var languageOptionsDropdownTrigger =
286 languagesCollapse.querySelectorAll('paper-icon-button')[1]; 286 languagesCollapse.querySelectorAll('button')[1];
287 assertTrue(!!languageOptionsDropdownTrigger); 287 assertTrue(!!languageOptionsDropdownTrigger);
288 MockInteractions.tap(languageOptionsDropdownTrigger); 288 MockInteractions.tap(languageOptionsDropdownTrigger);
289 assertTrue(actionMenu.open); 289 assertTrue(actionMenu.open);
290 290
291 // The language-specific translation option should be hidden. 291 // The language-specific translation option should be hidden.
292 var translateOption = actionMenu.querySelector('#offerTranslations'); 292 var translateOption = actionMenu.querySelector('#offerTranslations');
293 assertTrue(!!translateOption); 293 assertTrue(!!translateOption);
294 assertTrue(translateOption.hidden); 294 assertTrue(translateOption.hidden);
295 }); 295 });
296 296
297 test('remove language', function() { 297 test('remove language', function() {
298 // Enable a language which we can then disable. 298 // Enable a language which we can then disable.
299 languageHelper.enableLanguage('no'); 299 languageHelper.enableLanguage('no');
300 300
301 // Populate the dom-repeat. 301 // Populate the dom-repeat.
302 Polymer.dom.flush(); 302 Polymer.dom.flush();
303 303
304 // Find the new language item. 304 // Find the new language item.
305 var items = languagesCollapse.querySelectorAll('.list-item'); 305 var items = languagesCollapse.querySelectorAll('.list-item');
306 var domRepeat = assert( 306 var domRepeat = assert(
307 languagesCollapse.querySelector('template[is="dom-repeat"]')); 307 languagesCollapse.querySelector('template[is="dom-repeat"]'));
308 var item = Array.from(items).find(function(el) { 308 var item = Array.from(items).find(function(el) {
309 return domRepeat.itemForElement(el) && 309 return domRepeat.itemForElement(el) &&
310 domRepeat.itemForElement(el).language.code == 'no'; 310 domRepeat.itemForElement(el).language.code == 'no';
311 }); 311 });
312 312
313 // Open the menu and select Remove. 313 // Open the menu and select Remove.
314 MockInteractions.tap(item.querySelector('paper-icon-button')); 314 MockInteractions.tap(item.querySelector('button'));
315 315
316 assertTrue(actionMenu.open); 316 assertTrue(actionMenu.open);
317 var removeMenuItem = getMenuItem('removeLanguage'); 317 var removeMenuItem = getMenuItem('removeLanguage');
318 assertFalse(removeMenuItem.disabled); 318 assertFalse(removeMenuItem.disabled);
319 MockInteractions.tap(removeMenuItem); 319 MockInteractions.tap(removeMenuItem);
320 assertFalse(actionMenu.open); 320 assertFalse(actionMenu.open);
321 321
322 assertEquals( 322 assertEquals(
323 initialLanguages, languageHelper.getPref(languagesPref).value); 323 initialLanguages, languageHelper.getPref(languagesPref).value);
324 }); 324 });
325 325
326 test('move up/down buttons', function() { 326 test('move up/down buttons', function() {
327 // Add several languages. 327 // Add several languages.
328 for (var language of ['en-CA', 'en-US', 'tk', 'no']) 328 for (var language of ['en-CA', 'en-US', 'tk', 'no'])
329 languageHelper.enableLanguage(language); 329 languageHelper.enableLanguage(language);
330 330
331 Polymer.dom.flush(); 331 Polymer.dom.flush();
332 332
333 var menuButtons = 333 var menuButtons =
334 languagesCollapse.querySelectorAll( 334 languagesCollapse.querySelectorAll(
335 '.list-item paper-icon-button[icon="cr:more-vert"]'); 335 '.list-item button.icon-more-vert');
336 336
337 // First language should not have "Move up" or "Move to top". 337 // First language should not have "Move up" or "Move to top".
338 MockInteractions.tap(menuButtons[0]); 338 MockInteractions.tap(menuButtons[0]);
339 assertMenuItemButtonsVisible({ 339 assertMenuItemButtonsVisible({
340 moveToTop: false, moveUp: false, moveDown: true, 340 moveToTop: false, moveUp: false, moveDown: true,
341 }); 341 });
342 actionMenu.close(); 342 actionMenu.close();
343 343
344 // Second language should not have "Move up". 344 // Second language should not have "Move up".
345 MockInteractions.tap(menuButtons[1]); 345 MockInteractions.tap(menuButtons[1]);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
412 // Now the secondary row is empty, so it shouldn't be shown. 412 // Now the secondary row is empty, so it shouldn't be shown.
413 assertFalse(triggerRow.classList.contains('two-line')); 413 assertFalse(triggerRow.classList.contains('two-line'));
414 assertEquals( 414 assertEquals(
415 0, triggerRow.querySelector('.secondary').textContent.length); 415 0, triggerRow.querySelector('.secondary').textContent.length);
416 } 416 }
417 }); 417 });
418 }); 418 });
419 419
420 return {TestNames: TestNames}; 420 return {TestNames: TestNames};
421 }); 421 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698