mirror of
https://github.com/servo/servo.git
synced 2025-07-13 02:13:40 +01:00
51 lines
2.2 KiB
HTML
51 lines
2.2 KiB
HTML
<!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>
|
|
|