add_task(async function() { const url = "data:text/html," + "" + '

This paragraph has a tooltip.

' + '

This paragraph doesn\'t have tooltip.

'; let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, url); let browser = gBrowser.selectedBrowser; await new Promise(resolve => { SpecialPowers.pushPrefEnv({ set: [["ui.tooltipDelay", 0]] }, resolve); }); let popupShownPromise = BrowserTestUtils.waitForEvent( document, "popupshown", false, event => { is(event.originalTarget.localName, "tooltip", "tooltip is showing"); return true; } ); let popupHiddenPromise = BrowserTestUtils.waitForEvent( document, "popuphidden", false, event => { is(event.originalTarget.localName, "tooltip", "tooltip is hidden"); return true; } ); // Send a mousemove at a known position to start the test. await BrowserTestUtils.synthesizeMouseAtCenter( "#p2", { type: "mousemove" }, browser ); await BrowserTestUtils.synthesizeMouseAtCenter( "#p1", { type: "mousemove" }, browser ); await popupShownPromise; await BrowserTestUtils.synthesizeMouseAtCenter( "#p2", { type: "mousemove" }, browser ); await popupHiddenPromise; gBrowser.removeCurrentTab(); });