summaryrefslogtreecommitdiffstats
path: root/dom/ipc/tests/browser_hide_tooltip.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/ipc/tests/browser_hide_tooltip.js')
-rw-r--r--dom/ipc/tests/browser_hide_tooltip.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/dom/ipc/tests/browser_hide_tooltip.js b/dom/ipc/tests/browser_hide_tooltip.js
new file mode 100644
index 0000000000..6a7cd12f24
--- /dev/null
+++ b/dom/ipc/tests/browser_hide_tooltip.js
@@ -0,0 +1,38 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+add_task(async function test_hiding_tooltip() {
+ let page1 = "data:text/html,<html title='title'><body>page 1<body></html>";
+ let page2 = "data:text/html,<html><body>page 2</body></html>";
+
+ let tab = await BrowserTestUtils.openNewForegroundTab({
+ gBrowser,
+ opening: page1,
+ });
+
+ let popup = new Promise(function (resolve) {
+ window.addEventListener("popupshown", resolve, { once: true });
+ });
+ // Fire a mousemove to trigger the tooltip.
+ EventUtils.synthesizeMouseAtCenter(gBrowser.selectedBrowser, {
+ type: "mousemove",
+ });
+ await popup;
+
+ let hiding = new Promise(function (resolve) {
+ window.addEventListener("popuphiding", resolve, { once: true });
+ });
+ let loaded = BrowserTestUtils.browserLoaded(
+ gBrowser.selectedBrowser,
+ false,
+ page2
+ );
+ BrowserTestUtils.loadURIString(gBrowser, page2);
+ await loaded;
+ await hiding;
+
+ ok(true, "Should have hidden the tooltip");
+ BrowserTestUtils.removeTab(tab);
+});