diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /devtools/client/shared/test/browser_html_tooltip_consecutive-show.js | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'devtools/client/shared/test/browser_html_tooltip_consecutive-show.js')
-rw-r--r-- | devtools/client/shared/test/browser_html_tooltip_consecutive-show.js | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/devtools/client/shared/test/browser_html_tooltip_consecutive-show.js b/devtools/client/shared/test/browser_html_tooltip_consecutive-show.js new file mode 100644 index 000000000..7ed1d6dc1 --- /dev/null +++ b/devtools/client/shared/test/browser_html_tooltip_consecutive-show.js @@ -0,0 +1,71 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +/* import-globals-from helper_html_tooltip.js */ + +"use strict"; + +/** + * Test the HTMLTooltip show can be called several times. It should move according to the + * new anchor/options and should not leak event listeners. + */ + +const HTML_NS = "http://www.w3.org/1999/xhtml"; +const TEST_URI = `data:text/xml;charset=UTF-8,<?xml version="1.0"?> + <?xml-stylesheet href="chrome://global/skin/global.css"?> + <?xml-stylesheet href="chrome://devtools/skin/tooltips.css"?> + <window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" + title="Tooltip test"> + <vbox flex="1"> + <hbox id="box1" flex="1">test1</hbox> + <hbox id="box2" flex="1">test2</hbox> + <hbox id="box3" flex="1">test3</hbox> + <hbox id="box4" flex="1">test4</hbox> + </vbox> + </window>`; + +const {HTMLTooltip} = require("devtools/client/shared/widgets/tooltip/HTMLTooltip"); +loadHelperScript("helper_html_tooltip.js"); + +function getTooltipContent(doc) { + let div = doc.createElementNS(HTML_NS, "div"); + div.style.height = "50px"; + div.textContent = "tooltip"; + return div; +} + +add_task(function* () { + let [,, doc] = yield createHost("bottom", TEST_URI); + + let box1 = doc.getElementById("box1"); + let box2 = doc.getElementById("box2"); + let box3 = doc.getElementById("box3"); + let box4 = doc.getElementById("box4"); + + let width = 100, height = 50; + + let tooltip = new HTMLTooltip(doc, {useXulWrapper: false}); + tooltip.setContent(getTooltipContent(doc), {width, height}); + + info("Show the tooltip on each of the 4 hbox, without calling hide in between"); + + info("Show tooltip on box1"); + tooltip.show(box1); + checkTooltipGeometry(tooltip, box1, {position: "bottom", width, height}); + + info("Show tooltip on box2"); + tooltip.show(box2); + checkTooltipGeometry(tooltip, box2, {position: "bottom", width, height}); + + info("Show tooltip on box3"); + tooltip.show(box3); + checkTooltipGeometry(tooltip, box3, {position: "top", width, height}); + + info("Show tooltip on box4"); + tooltip.show(box4); + checkTooltipGeometry(tooltip, box4, {position: "top", width, height}); + + info("Hide tooltip before leaving test"); + yield hideTooltip(tooltip); + + tooltip.destroy(); +}); |