зеркало из https://github.com/mozilla/gecko-dev.git
52 строки
1.6 KiB
JavaScript
52 строки
1.6 KiB
JavaScript
"use strict";
|
|
|
|
const kPrefHighlightAll = "findbar.highlightAll";
|
|
const kPrefModalHighlight = "findbar.modalHighlight";
|
|
|
|
add_task(async function setup() {
|
|
await SpecialPowers.pushPrefEnv({ set: [
|
|
[kPrefHighlightAll, true],
|
|
[kPrefModalHighlight, true]
|
|
]});
|
|
});
|
|
|
|
add_task(async function testIframeOffset() {
|
|
let url = kFixtureBaseURL + "file_FinderIframeTest.html";
|
|
|
|
await BrowserTestUtils.withNewTab(url, async function(browser) {
|
|
let findbar = gBrowser.getFindBar();
|
|
await promiseOpenFindbar(findbar);
|
|
|
|
let word = "frame";
|
|
let expectedResult = {
|
|
rectCount: 12,
|
|
insertCalls: [2, 4],
|
|
removeCalls: [0, 2]
|
|
};
|
|
let promise = promiseTestHighlighterOutput(browser, word, expectedResult, (maskNode, outlineNode, rects) => {
|
|
Assert.equal(rects.length, expectedResult.rectCount, "Rect counts should match");
|
|
// Checks to guard against regressing this functionality:
|
|
let expectedOffsets = [
|
|
{ x: 16, y: 60 },
|
|
{ x: 68, y: 104 },
|
|
{ x: 21, y: 215 },
|
|
{ x: 78, y: 264 },
|
|
{ x: 21, y: 375 },
|
|
{ x: 78, y: 424 },
|
|
{ x: 20, y: 534 },
|
|
{ x: 93, y: 534 },
|
|
{ x: 71, y: 577 },
|
|
{ x: 145, y: 577 }
|
|
];
|
|
for (let i = 1, l = rects.length - 1; i < l; ++i) {
|
|
let rect = rects[i];
|
|
let expected = expectedOffsets[i - 1];
|
|
Assert.equal(Math.floor(rect.x), expected.x, "Horizontal offset should match for rect " + i);
|
|
Assert.equal(Math.floor(rect.y), expected.y, "Vertical offset should match for rect " + i);
|
|
}
|
|
});
|
|
await promiseEnterStringIntoFindField(findbar, word);
|
|
await promise;
|
|
});
|
|
});
|