File: 2d.text.measure.fillTextCluster-baseline.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 (115 lines) | stat: -rw-r--r-- 3,694 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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!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-baseline.tentative-expected.html">
<title>Canvas test: 2d.text.measure.fillTextCluster-baseline.tentative</title>
<h1>2d.text.measure.fillTextCluster-baseline.tentative</h1>
<p class="desc">Test that fillTextCluster() correctly positions the text, taking into account the textBaseline from the context at the time the text was measured.</p>

<div class="grid-container" style="--grid-width: 4">
<span>
  <div>ctx_baseline_top</div>
  <canvas class="grid-cell-content" id="canvas0" width="180" 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 = 20;
    const y = canvas.height / 2;

    ctx.textBaseline = 'top';
    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_baseline_middle</div>
  <canvas class="grid-cell-content" id="canvas1" width="180" 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 = 20;
    const y = canvas.height / 2;

    ctx.textBaseline = 'middle';
    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_baseline_bottom</div>
  <canvas class="grid-cell-content" id="canvas2" width="180" 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 = 20;
    const y = canvas.height / 2;

    ctx.textBaseline = 'bottom';
    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_baseline_alphabetic</div>
  <canvas class="grid-cell-content" id="canvas3" width="180" height="43">
    <p class="fallback">FAIL (fallback content)</p>
  </canvas>
  <script type="module">
    const canvas = document.getElementById("canvas3");
    const ctx = canvas.getContext('2d');

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

    ctx.textBaseline = 'alphabetic';
    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>