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

Unified Diff: chrome/test/data/webui/settings/settings_page_browsertest.js

Issue 2198203002: MD Settings: Test for section expand/collapse navigation. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@RefactorSettingsAnimatedPages
Patch Set: switch expect and actual Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: chrome/test/data/webui/settings/settings_page_browsertest.js
diff --git a/chrome/test/data/webui/settings/settings_page_browsertest.js b/chrome/test/data/webui/settings/settings_page_browsertest.js
index 7e60116464fcb0274da8d111d22c18e8c7aa30a9..621bdee132fbbe77527530fd6c16978f3e8c19b7 100644
--- a/chrome/test/data/webui/settings/settings_page_browsertest.js
+++ b/chrome/test/data/webui/settings/settings_page_browsertest.js
@@ -58,26 +58,58 @@ SettingsPageBrowserTest.prototype = {
},
/**
- * @param {!PolymerElement} page The PolymerElement for the page containing
- * |section|.
- * @param {string} section The settings page section, e.g. 'appearance'.
- * @return {Node|undefined} The DOM node for the section.
+ * @param {!MainPageBehavior} page The page containing the sections to return.
+ * @return {!Array<!SettingsSectionElement>} The page's <settings-section>s.
*/
- getSection: function(page, section) {
- var sections = page.shadowRoot.querySelectorAll('settings-section');
- assertTrue(!!sections);
- for (var i = 0; i < sections.length; ++i) {
- var s = sections[i];
- if (s.section == section)
- return s;
- }
- return undefined;
+ getSections: function(page) {
+ return Array.from(page.shadowRoot.querySelectorAll('settings-section'));
+ },
+
+ /**
+ * @param {!MainPageBehavior} page The page containing |section|.
+ * @param {string} sectionId The settings page section, e.g. 'appearance'.
+ * @return {?SettingsSectionElement} The settings-section element, or null.
+ */
+ getSection: function(page, sectionId) {
+ return page.$$(`settings-section[section="${sectionId}"]`);
+ },
+
+ /*
+ * Returns all stamped subpages of a section. This excludes the main
+ * animatable (the default initial view of the closed section).
+ * @param {!SettingsSectionElement} section
+ * @return {!Map<string, !SettingsSubpageElement>} Map of subpages by id.
+ */
+ getSectionSubpages: function(section) {
+ var subpages = new Map();
+ var pages = section.querySelector('* /deep/ settings-animated-pages');
+ if (!pages)
+ return subpages;
+
+ pages.getContentChildren().forEach(function(element) {
+ if (element.tagName == 'SETTINGS-SUBPAGE')
+ subpages.set(element.id, element);
+ });
+ return subpages;
+ },
+
+ /*
+ * Returns the main animatable of a section (the default initial view of the
+ * closed section).
+ * @param {!SettingsSectionElement} section
+ * @return {?NeonAnimatableElement>}
+ */
+ getSectionMainAnimatable: function(section) {
+ var pages = section.querySelector('* /deep/ settings-animated-pages');
+ if (!pages)
+ return null;
+ return pages.querySelector('#main');
},
/**
* Verifies the section has a visible #main element and that any possible
* sub-pages are hidden.
- * @param {!Node} The DOM node for the section.
+ * @param {!SettingsSectionElement} section
*/
verifySubpagesHidden: function(section) {
// Check if there are sub-pages to verify.

Powered by Google App Engine
This is Rietveld 408576698