Bug 1442305 - setFilterState() in head.js fails when setting multiple categories r?nchevobbe draft
authorMichael Ratcliffe <mratcliffe@mozilla.com>
Thu, 01 Mar 2018 17:03:21 +0000
changeset 762380 e9959e3558e51e54691f074f93178ad27c1630e5
parent 761880 43c3fa169fa03144cd989ee768e4d4d578ba08bf
child 762473 e4d5ad698bd82403c5b87af693cee7a6124ae65a
push id101168
push userbmo:mratcliffe@mozilla.com
push dateFri, 02 Mar 2018 12:30:24 +0000
reviewersnchevobbe
bugs1442305
milestone60.0a1
Bug 1442305 - setFilterState() in head.js fails when setting multiple categories r?nchevobbe MozReview-Commit-ID: 9HxZk5gCI2S
devtools/client/webconsole/new-console-output/test/mochitest/head.js
--- a/devtools/client/webconsole/new-console-output/test/mochitest/head.js
+++ b/devtools/client/webconsole/new-console-output/test/mochitest/head.js
@@ -654,41 +654,33 @@ async function getFilterState(hud) {
  *            netxhr: false,
  *            net: false
  *          }
  */
 async function setFilterState(hud, settings) {
   const filterBar = await setFilterBarVisible(hud, true);
 
   for (let category in settings) {
-    let check = settings[category];
+    let setActive = settings[category];
     let button = filterBar.querySelector(`.${category}`);
 
     if (!button) {
       ok(false, `setFilterState() called with a category of ${category}, ` +
                 `which doesn't exist.`);
     }
 
-    info(`Setting the ${category} category to ${check ? "checked" : "disabled"}`);
+    info(`Setting the ${category} category to ${setActive ? "checked" : "disabled"}`);
 
-    let checked = button.classList.contains("checked");
-    if (check) {
-      // Enable filter.
-      if (checked) {
-        return;
-      }
+    let isChecked = button.classList.contains("checked");
+
+    if (setActive !== isChecked) {
       button.click();
+
       await waitFor(() => {
-        return button.classList.contains("checked");
-      });
-    } else if (checked) {
-      // Disable filter.
-      button.click();
-      await waitFor(() => {
-        return !button.classList.contains("checked");
+        return button.classList.contains("checked") === setActive;
       });
     }
   }
 }
 
 /**
  * Set the visibility of the filter bar.
  *