tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_dbg-preview-getter.js (2014B)


      1 /* This Source Code Form is subject to the terms of the Mozilla Public
      2 * License, v. 2.0. If a copy of the MPL was not distributed with this
      3 * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */
      4 
      5 // This test checks if 'executing getter' in a preview correctly displays values.
      6 // Bug 1456441 - 'execute getter' not working in Preview
      7 
      8 "use strict";
      9 
     10 add_task(async function () {
     11  // Make sure the toolbox is tall enough to be able to display the whole popup.
     12  await pushPref("devtools.toolbox.footer.height", 500);
     13 
     14  const dbg = await initDebugger(
     15    "doc-preview-getter.html",
     16    "preview-getter.js"
     17  );
     18 
     19  await loadAndAddBreakpoint(dbg, "preview-getter.js", 5, 5);
     20  invokeInTab("funcA");
     21  await waitForPaused(dbg);
     22 
     23  info("Hovers over 'this' token to display the preview.");
     24  const { tokenEl } = await tryHovering(dbg, 5, 5, "previewPopup");
     25 
     26  info("Wait for properties to be loaded");
     27  await waitUntil(
     28    () => dbg.win.document.querySelectorAll(".preview-popup .node").length > 1
     29  );
     30 
     31  info("Invokes getter and waits for the element to be rendered");
     32  await clickElement(dbg, "previewPopupInvokeGetterButton");
     33  await waitForAllElements(dbg, "previewPopupObjectNumber", 2);
     34 
     35  await clickElement(dbg, "previewPopupInvokeGetterButton");
     36  await waitForAllElements(dbg, "previewPopupObjectObject", 4);
     37 
     38  const getterButtonEls = findAllElements(
     39    dbg,
     40    "previewPopupInvokeGetterButton"
     41  );
     42  const previewObjectNumberEls = findAllElements(
     43    dbg,
     44    "previewPopupObjectNumber"
     45  );
     46  const previewObjectObjectEls = findAllElements(
     47    dbg,
     48    "previewPopupObjectObject"
     49  );
     50 
     51  is(getterButtonEls.length, 0, "There are no getter buttons in the preview.");
     52  is(
     53    previewObjectNumberEls.length,
     54    2,
     55    "Getters were invoked and two numerical values are displayed as expected."
     56  );
     57  is(
     58    previewObjectObjectEls.length,
     59    4,
     60    "Getters were invoked and three object values are displayed as expected."
     61  );
     62 
     63  await closePreviewForToken(dbg, tokenEl);
     64 });