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 });