fune/toolkit/components/tooltiptext/tests/browser_bug329212.js
Kris Maglione 94e3b0bd8d Bug 1596918: Part 3a - Scripted rewrite of most ContentTask.spawn calls to SpecialPowers.spawn calls. r=mccr8,remote-protocol-reviewers,ato
This is generally pretty straightforward, and rewrites nearly all calls. It
skips the ones that it can detect using frame script globals like
`sendAsyncMessage`, though.

Differential Revision: https://phabricator.services.mozilla.com/D53740

--HG--
extra : moz-landing-system : lando
2019-12-13 20:36:16 +00:00

49 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);
});
}
);
});