Bug 1358975 - Test to confirm that nodes shouldn't change on transitionend if value and label are unchanged. draft
authorJared Wein <jwein@mozilla.com>
Mon, 24 Apr 2017 13:14:29 -0400
changeset 567270 d560f1af92cbd4e509a3e1e70037ae3f5a1b1be6
parent 566524 ff6abe20041933a67f636b748ed698e9616a6833
child 625583 eaf9c69ba675766f80c117eaa93a9510f124eb04
push id55505
push userjwein@mozilla.com
push dateMon, 24 Apr 2017 17:14:50 +0000
bugs1358975
milestone55.0a1
Bug 1358975 - Test to confirm that nodes shouldn't change on transitionend if value and label are unchanged. MozReview-Commit-ID: 3RN8useX4PR
browser/base/content/test/forms/browser_selectpopup_colors.js
--- a/browser/base/content/test/forms/browser_selectpopup_colors.js
+++ b/browser/base/content/test/forms/browser_selectpopup_colors.js
@@ -208,27 +208,31 @@ function* testSelectColors(select, itemC
 
   let menulist = document.getElementById("ContentSelectDropdown");
   let selectPopup = menulist.menupopup;
 
   let popupShownPromise = BrowserTestUtils.waitForEvent(selectPopup, "popupshown");
   yield BrowserTestUtils.synthesizeMouseAtCenter("#one", { type: "mousedown" }, gBrowser.selectedBrowser);
   yield popupShownPromise;
 
+  let child = selectPopup.firstChild;
+
   if (options.waitForComputedStyle) {
     let property = options.waitForComputedStyle.property;
     let value = options.waitForComputedStyle.value;
     yield BrowserTestUtils.waitForCondition(() => {
       info(`<select> has ${property}: ${getComputedStyle(selectPopup)[property]}`);
       return getComputedStyle(selectPopup)[property] == value;
     }, `Waiting for <select> to have ${property}: ${value}`);
   }
 
   is(selectPopup.parentNode.itemCount, itemCount, "Correct number of items");
-  let child = selectPopup.firstChild;
+  if (!options.verifyNodesUnchanged) {
+    child = selectPopup.firstChild;
+  }
   let idx = 1;
 
   if (!options.skipSelectColorTest) {
     is(getComputedStyle(selectPopup).color, options.selectColor,
       "popup has expected foreground color");
 
     if (options.selectTextShadow) {
       is(getComputedStyle(selectPopup).textShadow, options.selectTextShadow,
@@ -408,17 +412,18 @@ add_task(function* test_style_of_options
 
 add_task(function* test_style_of_options_is_dependent_on_transitionend() {
   let options = {
     selectColor: "rgb(0, 0, 0)",
     selectBgColor: "rgb(255, 165, 0)",
     waitForComputedStyle: {
       property: "background-image",
       value: "linear-gradient(rgb(255, 165, 0), rgb(255, 165, 0))"
-    }
+    },
+    verifyNodesUnchanged: true
   };
 
   yield testSelectColors(SELECT_STYLE_OF_OPTION_CHANGES_AFTER_TRANSITIONEND, 2, options);
 });
 
 add_task(function* test_transparent_color_with_text_shadow() {
   let options = {
     selectColor: "rgba(0, 0, 0, 0)",