<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: 2d.text.measure.fontBoundingBox.ahem</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>
<link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css">
<style>
@font-face {
  font-family: Ahem;
  src: url("/fonts/Ahem.ttf");
}
</style>
<body class="show_output">

<h1>2d.text.measure.fontBoundingBox.ahem</h1>
<p class="desc">Testing fontBoundingBox for font ahem</p>


<span style="font-family: Ahem; position: absolute; visibility: hidden">A</span>
<p class="output">Actual output:</p>
<canvas id="c" class="output" width="100" height="50"><p class="fallback">FAIL (fallback content)</p></canvas>

<ul id="d"></ul>
<script>
var t = async_test("Testing fontBoundingBox for font ahem");
_addTest(function(canvas, ctx) {

deferTest();
var f = new FontFace("Ahem", "/fonts/Ahem.ttf");
document.fonts.add(f);
document.fonts.ready.then(() => {
    step_timeout(t.step_func_done(function () {
        ctx.font = '50px Ahem';
        ctx.direction = 'ltr';
        ctx.align = 'left'
        _assertSame(ctx.measureText('A').fontBoundingBoxAscent, 40, "ctx.measureText('A').fontBoundingBoxAscent", "40");
        _assertSame(ctx.measureText('A').fontBoundingBoxDescent, 10, "ctx.measureText('A').fontBoundingBoxDescent", "10");

        _assertSame(ctx.measureText('ABCD').fontBoundingBoxAscent, 40, "ctx.measureText('ABCD').fontBoundingBoxAscent", "40");
        _assertSame(ctx.measureText('ABCD').fontBoundingBoxDescent, 10, "ctx.measureText('ABCD').fontBoundingBoxDescent", "10");
    }), 500);
});


});
</script>

