Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 Prototype for Settings page tests. */ | 5 /** @fileoverview Prototype for Settings page tests. */ |
| 6 | 6 |
| 7 /** @const {string} Path to root from chrome/test/data/webui/settings/. */ | 7 /** @const {string} Path to root from chrome/test/data/webui/settings/. */ |
| 8 var ROOT_PATH = '../../../../../'; | 8 var ROOT_PATH = '../../../../../'; |
| 9 | 9 |
| 10 // Polymer BrowserTest fixture. | 10 // Polymer BrowserTest fixture. |
| (...skipping 14 matching lines...) Expand all Loading... | |
| 25 | 25 |
| 26 /** @override */ | 26 /** @override */ |
| 27 extraLibraries: PolymerTest.getLibraries(ROOT_PATH).concat([ | 27 extraLibraries: PolymerTest.getLibraries(ROOT_PATH).concat([ |
| 28 '../fake_chrome_event.js', | 28 '../fake_chrome_event.js', |
| 29 'fake_settings_private.js', | 29 'fake_settings_private.js', |
| 30 ]), | 30 ]), |
| 31 | 31 |
| 32 /** @override */ | 32 /** @override */ |
| 33 runAccessibilityChecks: false, | 33 runAccessibilityChecks: false, |
| 34 | 34 |
| 35 /** @type {?SettingsBasicPageElement} */ | |
| 36 page: null, | |
| 37 | |
| 35 /** @override */ | 38 /** @override */ |
| 36 setUp: function() { | 39 setUp: function() { |
| 37 PolymerTest.prototype.setUp.call(this); | 40 PolymerTest.prototype.setUp.call(this); |
| 38 suiteSetup(function() { | 41 suiteSetup(function() { |
| 39 return CrSettingsPrefs.initialized; | 42 return CrSettingsPrefs.initialized; |
| 40 }); | 43 }); |
| 44 | |
| 45 suiteSetup(function() { | |
| 46 return this.getPage('basic').then(function(basicPage) { | |
| 47 this.page = basicPage; | |
| 48 }.bind(this)); | |
| 49 }.bind(this)); | |
| 41 }, | 50 }, |
| 42 | 51 |
| 43 /** | 52 /** |
| 44 * Toggles the Advanced sections. | 53 * Toggles the Advanced sections. |
| 45 */ | 54 */ |
| 46 toggleAdvanced: function() { | 55 toggleAdvanced: function() { |
| 47 var settingsMain = document.querySelector('* /deep/ settings-main'); | 56 var settingsMain = document.querySelector('* /deep/ settings-main'); |
| 48 assert(!!settingsMain); | 57 assert(!!settingsMain); |
| 49 settingsMain.advancedToggleExpanded = !settingsMain.advancedToggleExpanded; | 58 settingsMain.advancedToggleExpanded = !settingsMain.advancedToggleExpanded; |
| 50 Polymer.dom.flush(); | 59 Polymer.dom.flush(); |
| 51 }, | 60 }, |
| 52 | 61 |
| 53 /** | 62 /** |
| 54 * @param {string} type The settings page type, e.g. 'about' or 'basic'. | 63 * @param {string} type The settings page type, e.g. 'about' or 'basic'. |
| 55 * @return {!PolymerElement} The PolymerElement for the page. | 64 * @return {!PolymerElement} The PolymerElement for the page. |
|
Dan Beam
2017/03/16 20:52:22
!Promise<!PolymerElement>
| |
| 56 */ | 65 */ |
| 57 getPage: function(type) { | 66 getPage: function(type) { |
| 58 var settingsUi = document.querySelector('settings-ui'); | 67 var settingsUi = document.querySelector('settings-ui'); |
| 59 assertTrue(!!settingsUi); | 68 assertTrue(!!settingsUi); |
| 60 var settingsMain = settingsUi.$$('settings-main'); | 69 var settingsMain = settingsUi.$$('settings-main'); |
| 61 assertTrue(!!settingsMain); | 70 assertTrue(!!settingsMain); |
| 62 var pageType = 'settings-' + type + '-page'; | 71 var pageType = 'settings-' + type + '-page'; |
| 63 var page = settingsMain.$$(pageType); | 72 var page = settingsMain.$$(pageType); |
| 64 assertTrue(!!page); | 73 assertTrue(!!page); |
| 65 var idleRender = page.$$('template[is=settings-idle-render]'); | 74 |
| 66 if (idleRender) { | 75 var idleRender = page.$$('template[is=settings-idle-load]'); |
| 67 idleRender.get(); | 76 if (!idleRender) |
| 68 Polymer.dom.flush(); | 77 return Promise.resolve(page); |
| 69 } | 78 |
| 70 return page; | 79 return idleRender.get().then(function() { |
| 80 return page; | |
| 81 }); | |
| 71 }, | 82 }, |
| 72 | 83 |
| 73 /** | 84 /** |
| 74 * @param {!PolymerElement} page The PolymerElement for the page containing | 85 * @param {!PolymerElement} page The PolymerElement for the page containing |
| 75 * |section|. | 86 * |section|. |
| 76 * @param {string} section The settings page section, e.g. 'appearance'. | 87 * @param {string} section The settings page section, e.g. 'appearance'. |
| 77 * @return {Node|undefined} The DOM node for the section. | 88 * @return {Node|undefined} The DOM node for the section. |
| 78 */ | 89 */ |
| 79 getSection: function(page, section) { | 90 getSection: function(page, section) { |
| 80 var sections = page.shadowRoot.querySelectorAll('settings-section'); | 91 var sections = page.shadowRoot.querySelectorAll('settings-section'); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 114 // Any other stamped subpages should not be visible. | 125 // Any other stamped subpages should not be visible. |
| 115 var subpages = stampedChildren.filter(function(element) { | 126 var subpages = stampedChildren.filter(function(element) { |
| 116 return element.getAttribute('route-path') != 'default'; | 127 return element.getAttribute('route-path') != 'default'; |
| 117 }); | 128 }); |
| 118 for (var subpage of subpages) { | 129 for (var subpage of subpages) { |
| 119 assertEquals(subpage.offsetHeight, 0, 'Expected subpage #' + subpage.id + | 130 assertEquals(subpage.offsetHeight, 0, 'Expected subpage #' + subpage.id + |
| 120 ' in ' + section.section + ' not to be visible.'); | 131 ' in ' + section.section + ' not to be visible.'); |
| 121 } | 132 } |
| 122 }, | 133 }, |
| 123 }; | 134 }; |
| OLD | NEW |