<script>
function test()
{
    if (window.testRunner)
        testRunner.dumpAsText();
    var style = document.defaultView.getComputedStyle(document.body, "");
    var text = "";
    for (var i = 0; i != style.length; ++i) {
        var name = style.item(i);
        if (!name.match(/^font/) || name === "font-variation-settings")
            continue;
        var value = style.getPropertyValue(name);
        text += name + ": " + value + ";\n";
    }
    document.getElementById("exposed").textContent = text;
}
</script>
<body onload="test()" style="font-family: monospace, 'Lucida Grande', sans-serif">
<p>Font attributes. The font-family should list three families:</p>
<p id="exposed" style="white-space: pre"></p>
</body>
