<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Generic font family: -webkit-* treated as <font-family></title>
<link rel="help" href="https://drafts.csswg.org/css-fonts-4/#generic-font-families">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/css-fonts/support/font-family-keywords.js"></script>
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css"/>
<style>
div {
font-size: 10px;
}
#ahem {
font-family: Ahem;
}
</style>
</head>
<body>
<div><span id="ahem">00000</span></div>
<div><span id="test">00000</span></div>
<script>
setup({ explicit_done: true });
window.addEventListener("load", () => { document.fonts.ready.then(runTests); });
function SetFontFamilyAndMeasure(fontFamilyValue) {
var element = document.getElementById('test');
element.setAttribute("style", `font-family: ${fontFamilyValue}, Ahem;`);
return element.offsetWidth;
}
function runTests() {
let ahem = document.getElementById('ahem');
let ahem_expected_width = ahem.offsetWidth;
let families = kGenericFontFamilyKeywords.map(keyword => `-webkit-${keyword}`).concat(kNonGenericFontFamilyKeywords);
families.forEach(name => {
test(function() {
assert_equals(SetFontFamilyAndMeasure(name), ahem_expected_width);
}, `font-family: ${name} treated as <font-family>, not <generic-name>`);
});
done();
}
</script>
</body>
</html>