| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by tools/gentest.py. --> |
| <title>Canvas test: 2d.text.measure.actualBoundingBox</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/common/canvas-tests.js"></script> |
| <link rel="stylesheet" href="/common/canvas-tests.css"> |
| <style> |
| @font-face { |
| font-family: CanvasTest; |
| src: url("/fonts/CanvasTest.ttf"); |
| } |
| </style> |
| <body class="show_output"> |
| |
| <h1>2d.text.measure.actualBoundingBox</h1> |
| <p class="desc">Testing actualBoundingBox</p> |
| |
| |
| <span style="font-family: CanvasTest; 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 actualBoundingBox"); |
| _addTest(function(canvas, ctx) { |
| |
| deferTest(); |
| step_timeout(t.step_func_done(function () { |
| ctx.font = '50px CanvasTest'; |
| ctx.direction = 'ltr'; |
| ctx.align = 'left' |
| ctx.baseline = 'alphabetic' |
| // Some platforms may return '-0'. |
| _assertSame(Math.abs(ctx.measureText('A').actualBoundingBoxLeft), 0, "Math.abs(ctx.measureText('A').actualBoundingBoxLeft)", "0"); |
| // Different platforms may render text slightly different. |
| _assert(ctx.measureText('A').actualBoundingBoxRight >= 50, "ctx.measureText('A').actualBoundingBoxRight >= 50"); |
| _assert(ctx.measureText('A').actualBoundingBoxAscent >= 35, "ctx.measureText('A').actualBoundingBoxAscent >= 35"); |
| _assertSame(Math.abs(ctx.measureText('A').actualBoundingBoxDescent), 0, "Math.abs(ctx.measureText('A').actualBoundingBoxDescent)", "0"); |
| |
| _assertSame(Math.abs(ctx.measureText('ABCD').actualBoundingBoxLeft), 0, "Math.abs(ctx.measureText('ABCD').actualBoundingBoxLeft)", "0"); |
| _assert(ctx.measureText('ABCD').actualBoundingBoxRight >= 200, "ctx.measureText('ABCD').actualBoundingBoxRight >= 200"); |
| _assert(ctx.measureText('ABCD').actualBoundingBoxAscent >= 85, "ctx.measureText('ABCD').actualBoundingBoxAscent >= 85"); |
| _assert(ctx.measureText('ABCD').actualBoundingBoxDescent >= 37, "ctx.measureText('ABCD').actualBoundingBoxDescent >= 37"); |
| }), 500); |
| |
| |
| }); |
| </script> |
| |