diff options
Diffstat (limited to 'toolkit/components/tooltiptext/tests/browser_bug329212.js')
-rw-r--r-- | toolkit/components/tooltiptext/tests/browser_bug329212.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/toolkit/components/tooltiptext/tests/browser_bug329212.js b/toolkit/components/tooltiptext/tests/browser_bug329212.js new file mode 100644 index 0000000000..d669e60c26 --- /dev/null +++ b/toolkit/components/tooltiptext/tests/browser_bug329212.js @@ -0,0 +1,48 @@ +"use strict"; + +add_task(async function () { + await BrowserTestUtils.withNewTab( + { + gBrowser, + url: "http://mochi.test:8888/browser/toolkit/components/tooltiptext/tests/title_test.svg", + }, + async function (browser) { + await SpecialPowers.spawn(browser, [""], function () { + let tttp = Cc[ + "@mozilla.org/embedcomp/default-tooltiptextprovider;1" + ].getService(Ci.nsITooltipTextProvider); + function checkElement(id, expectedTooltipText) { + let el = content.document.getElementById(id); + let textObj = {}; + let shouldHaveTooltip = expectedTooltipText !== null; + is( + tttp.getNodeText(el, textObj, {}), + shouldHaveTooltip, + "element " + + id + + " should " + + (shouldHaveTooltip ? "" : "not ") + + "have a tooltip" + ); + if (shouldHaveTooltip) { + is( + textObj.value, + expectedTooltipText, + "element " + id + " should have the right tooltip text" + ); + } + } + checkElement("svg1", "This is a non-root SVG element title"); + checkElement("text1", "\n\n\n This is a title\n\n "); + checkElement("text2", null); + checkElement("text3", null); + checkElement("link1", "\n This is a title\n "); + checkElement("text4", "\n This is a title\n "); + checkElement("link2", null); + checkElement("link3", "This is an xlink:title attribute"); + checkElement("link4", "This is an xlink:title attribute"); + checkElement("text5", null); + }); + } + ); +}); |