Bug 1439629 - Add testcase to check that element with visibility:hidden is skipped when reporting used font faces. r=dholbert

This commit is contained in:
Jonathan Kew 2018-02-20 20:46:51 +00:00
Родитель cb40096278
Коммит 9f0ef942b4
1 изменённых файлов: 33 добавлений и 0 удалений

Просмотреть файл

@ -196,6 +196,34 @@ function RunTest() {
}
is(familyNames.size, 3, "found all expected families");
// Test that fonts used in non-visible elements are not reported,
// nor non-visible ranges for fonts that are also used in visible content.
elem = document.getElementById("test6");
rng.selectNode(elem);
fonts = InspectorUtils.getUsedFontFaces(rng, 10);
is(fonts.length, 2, "number of font faces");
familyNames.clear();
for (var i = 0; i < fonts.length; i++) {
var f = fonts[i];
familyNames.set(f.CSSFamilyName, true);
switch (true) {
case f.CSSFamilyName == "capitals":
ok(false, "font used in hidden element should not be reported");
break;
case f.CSSFamilyName == "lowercase":
expectRanges(f, ["hello", "visible", "world"]);
break;
case f.CSSFamilyName == "gentium":
expectRanges(f, ["\n ", "\n ", "\n ", "!"]);
break;
default:
// There shouldn't be any other font used
ok(false, "unexpected font: " + f.CSSFamilyName);
break;
}
}
is(familyNames.size, 2, "found all expected families");
SimpleTest.finish();
}
@ -219,6 +247,11 @@ function RunTest() {
<!-- comment -->
world!
</div>
<div class="gentium" id="test6">
hello
<a href="#foo" style="visibility:hidden">Non-Visible
<span style="visibility:visible">visible</span></a>
world!</div>
</body>
</window>