File: 2d.text.measure.fillTextCluster-align.tentative.html

package info (click to toggle)
firefox 145.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,653,528 kB
  • sloc: cpp: 7,594,999; javascript: 6,459,658; ansic: 3,752,909; python: 1,403,455; xml: 629,809; asm: 438,679; java: 186,421; sh: 67,287; makefile: 19,169; objc: 13,086; perl: 12,982; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (89 lines) | stat: -rw-r--r-- 2,940 bytes parent folder | download | duplicates (12)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<meta charset="UTF-8">
<link rel="stylesheet" href="/html/canvas/resources/canvas-grid-reftest.css">
<link rel="match" href="2d.text.measure.fillTextCluster-align.tentative-expected.html">
<title>Canvas test: 2d.text.measure.fillTextCluster-align.tentative</title>
<h1>2d.text.measure.fillTextCluster-align.tentative</h1>
<p class="desc">Test that fillTextCluster() correctly positions the text, taking into account the textAlign from the context at the time the text was measured.</p>

<div class="grid-container" style="--grid-width: 3">
<span>
  <div>ctx_align_left</div>
  <canvas class="grid-cell-content" id="canvas0" width="250" height="43">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas0");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ☺️ א';
    const x = canvas.width / 2;
    const y = canvas.height / 2;

    ctx.textAlign = 'left';
    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    // Rendering all clusters with the same (x, y) parameters must be
    // equivalent to a fillText() call at (x, y).
    for (const cluster of clusters) {
        ctx.fillTextCluster(cluster, x, y);
    }
  </script>
</span>

<span>
  <div>ctx_align_center</div>
  <canvas class="grid-cell-content" id="canvas1" width="250" height="43">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas1");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ☺️ א';
    const x = canvas.width / 2;
    const y = canvas.height / 2;

    ctx.textAlign = 'center';
    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    // Rendering all clusters with the same (x, y) parameters must be
    // equivalent to a fillText() call at (x, y).
    for (const cluster of clusters) {
        ctx.fillTextCluster(cluster, x, y);
    }
  </script>
</span>

<span>
  <div>ctx_align_right</div>
  <canvas class="grid-cell-content" id="canvas2" width="250" height="43">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas2");
    const ctx = canvas.getContext('2d');

    ctx.font = '20px serif';
    const text = 'Test ☺️ א';
    const x = canvas.width / 2;
    const y = canvas.height / 2;

    ctx.textAlign = 'right';
    let tm = ctx.measureText(text);
    const clusters = tm.getTextClusters();

    // Rendering all clusters with the same (x, y) parameters must be
    // equivalent to a fillText() call at (x, y).
    for (const cluster of clusters) {
        ctx.fillTextCluster(cluster, x, y);
    }
  </script>
</span>

</div>