summaryrefslogtreecommitdiffstats
path: root/toolkit/components/tooltiptext/tests/browser_bug329212.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--toolkit/components/tooltiptext/tests/browser_bug329212.js48
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);
+ });
+ }
+ );
+});