| OLD | NEW |
| 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 }); |
| OLD | NEW |