48 lines
1.7 KiB
JavaScript
48 lines
1.7 KiB
JavaScript
"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);
|
|
});
|
|
}
|
|
);
|
|
});
|