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

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

Issue 2420833002: MD Settings: rework how advanced UI shows (Closed)
Patch Set: more tests Created 4 years, 2 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/settings_ui/settings_ui.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 /** @fileoverview Runs tests for the settings menu. */ 5 /** @fileoverview Runs tests for the settings menu. */
6 6
7 cr.define('settings_menu', function() { 7 cr.define('settings_menu', function() {
8 function registerSettingsMenuTest() { 8 function registerSettingsMenuTest() {
9 var settingsMenu = null; 9 var settingsMenu = null;
10 10
11 suite('SettingsMenu', function() { 11 suite('SettingsMenu', function() {
12 setup(function() { 12 setup(function() {
13 PolymerTest.clearBody(); 13 PolymerTest.clearBody();
14 settingsMenu = document.createElement('settings-menu'); 14 settingsMenu = document.createElement('settings-menu');
15 settingsMenu.currentRoute = settings.Route.BASIC; 15 settingsMenu.currentRoute = settings.Route.BASIC;
16 document.body.appendChild(settingsMenu); 16 document.body.appendChild(settingsMenu);
17 }); 17 });
18 18
19 teardown(function() { settingsMenu.remove(); }); 19 teardown(function() { settingsMenu.remove(); });
20 20
21 test('openAdvanced', function() { 21 test('advancedOpenedBinding', function() {
22 settingsMenu.fire('toggle-advanced-page', true); 22 assertFalse(settingsMenu.advancedOpened);
23 settingsMenu.advancedOpened = true;
23 Polymer.dom.flush(); 24 Polymer.dom.flush();
24 assertTrue(settingsMenu.$.advancedPage.opened); 25 assertTrue(settingsMenu.$.advancedPage.opened);
26
27 settingsMenu.advancedOpened = false;
28 Polymer.dom.flush();
29 assertFalse(settingsMenu.$.advancedPage.opened);
30 });
31
32 test('tapAdvanced', function() {
33 assertFalse(settingsMenu.advancedOpened);
34
35 var advancedTrigger = settingsMenu.$$('#advancedPage .menu-trigger');
36 assertTrue(!!advancedTrigger);
37
38 MockInteractions.tap(advancedTrigger);
39 Polymer.dom.flush();
40 assertTrue(settingsMenu.$.advancedPage.opened);
41
42 MockInteractions.tap(advancedTrigger);
43 Polymer.dom.flush();
44 assertFalse(settingsMenu.$.advancedPage.opened);
25 }); 45 });
26 46
27 test('upAndDownIcons', function() { 47 test('upAndDownIcons', function() {
28 // There should be different icons for a top level menu being open 48 // There should be different icons for a top level menu being open
29 // vs. being closed. E.g. arrow-drop-up and arrow-drop-down. 49 // vs. being closed. E.g. arrow-drop-up and arrow-drop-down.
30 var ironIconElement = settingsMenu.$.advancedPage.querySelector( 50 var ironIconElement = settingsMenu.$.advancedPage.querySelector(
31 '.menu-trigger iron-icon'); 51 '.menu-trigger iron-icon');
32 assertTrue(!!ironIconElement); 52 assertTrue(!!ironIconElement);
33 53
34 settingsMenu.fire('toggle-advanced-page', true); 54 settingsMenu.advancedOpened = true;
35 Polymer.dom.flush(); 55 Polymer.dom.flush();
36 var openIcon = ironIconElement.icon; 56 var openIcon = ironIconElement.icon;
37 assertTrue(!!openIcon); 57 assertTrue(!!openIcon);
38 58
39 settingsMenu.fire('toggle-advanced-page', false); 59 settingsMenu.advancedOpened = false;
40 Polymer.dom.flush(); 60 Polymer.dom.flush();
41 assertNotEquals(openIcon, ironIconElement.icon); 61 assertNotEquals(openIcon, ironIconElement.icon);
42 }); 62 });
43 63
44 test('openResetSection', function() { 64 test('openResetSection', function() {
45 settingsMenu.currentRoute = settings.Route.RESET; 65 settingsMenu.currentRoute = settings.Route.RESET;
46 var advancedPage = settingsMenu.$.advancedPage; 66 var advancedPage = settingsMenu.$.advancedPage;
47 assertEquals('/reset', 67 assertEquals('/reset',
48 advancedPage.querySelector('paper-menu').selected); 68 advancedPage.querySelector('paper-menu').selected);
49 }); 69 });
50 }); 70 });
51 } 71 }
52 72
53 return { 73 return {
54 registerTests: function() { 74 registerTests: function() {
55 registerSettingsMenuTest(); 75 registerSettingsMenuTest();
56 }, 76 },
57 }; 77 };
58 }); 78 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/settings/settings_ui/settings_ui.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698