Skip to content

Commit

Permalink
[html/canvas] tests for TextMetrics.advances should not be in WPT as …
Browse files Browse the repository at this point in the history
…this attribute is not in the spec (#46231)

Replace 2d.text.measure.advances test with a test that asserts
`advances` does not exist, as it is not in the spec.
  • Loading branch information
Sam Weinig authored May 13, 2024
1 parent b5d5522 commit 2f33048
Show file tree
Hide file tree
Showing 7 changed files with 77 additions and 147 deletions.
36 changes: 36 additions & 0 deletions html/canvas/element/text/2d.text.measure.advances-not-defined.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>Canvas test: 2d.text.measure.advances-not-defined</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: CanvasTest;
src: url("/fonts/CanvasTest.ttf");
}
</style>
<body class="show_output">

<h1>2d.text.measure.advances-not-defined</h1>
<p class="desc">Testing that TextMetrics.advances is not defined</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>
promise_test(async t => {

var canvas = document.getElementById('c');
var ctx = canvas.getContext('2d');

ctx.font = '50px CanvasTest';
_assert(!("advances" in ctx.measureText('Hello')), "!(\"advances\" in ctx.measureText('Hello'))");

}, "Testing that TextMetrics.advances is not defined");
</script>

52 changes: 0 additions & 52 deletions html/canvas/element/text/2d.text.measure.advances.html

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<!DOCTYPE html>
<!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. -->
<title>OffscreenCanvas test: 2d.text.measure.advances-not-defined</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/canvas-tests.js"></script>

<h1>2d.text.measure.advances-not-defined</h1>
<p class="desc">Testing that TextMetrics.advances is not defined</p>


<script>
promise_test(async t => {

var canvas = new OffscreenCanvas(100, 50);
var ctx = canvas.getContext('2d');

ctx.font = '50px CanvasTest';
_assert(!("advances" in ctx.measureText('Hello')), "!(\"advances\" in ctx.measureText('Hello'))");

}, "Testing that TextMetrics.advances is not defined");
</script>
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py.
// OffscreenCanvas test in a worker:2d.text.measure.advances-not-defined
// Description:Testing that TextMetrics.advances is not defined
// Note:

importScripts("/resources/testharness.js");
importScripts("/html/canvas/resources/canvas-tests.js");

promise_test(async t => {
var canvas = new OffscreenCanvas(100, 50);
var ctx = canvas.getContext('2d');

ctx.font = '50px CanvasTest';
_assert(!("advances" in ctx.measureText('Hello')), "!(\"advances\" in ctx.measureText('Hello'))");
}, "Testing that TextMetrics.advances is not defined");
done();
41 changes: 0 additions & 41 deletions html/canvas/offscreen/text/2d.text.measure.advances.html

This file was deleted.

35 changes: 0 additions & 35 deletions html/canvas/offscreen/text/2d.text.measure.advances.worker.js

This file was deleted.

22 changes: 3 additions & 19 deletions html/canvas/tools/yaml-new/text.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -994,31 +994,15 @@
@assert ctx.measureText("").width === 0;
variants: *load-font-variant-definition

- name: 2d.text.measure.advances
desc: Testing width advances
- name: 2d.text.measure.advances-not-defined
desc: Testing that TextMetrics.advances is not defined
test_type: promise
fonts:
- CanvasTest
code: |
{{ load_font }}
ctx.font = '50px CanvasTest';
ctx.direction = 'ltr';
ctx.align = 'left'
// Some platforms may return '-0'.
@assert Math.abs(ctx.measureText('Hello').advances[0]) === 0;
// Different platforms may render text slightly different.
@assert ctx.measureText('Hello').advances[1] >= 36;
@assert ctx.measureText('Hello').advances[2] >= 58;
@assert ctx.measureText('Hello').advances[3] >= 70;
@assert ctx.measureText('Hello').advances[4] >= 80;
var tm = ctx.measureText('Hello');
@assert ctx.measureText('Hello').advances[0] === tm.advances[0];
@assert ctx.measureText('Hello').advances[1] === tm.advances[1];
@assert ctx.measureText('Hello').advances[2] === tm.advances[2];
@assert ctx.measureText('Hello').advances[3] === tm.advances[3];
@assert ctx.measureText('Hello').advances[4] === tm.advances[4];
variants: *load-font-variant-definition
@assert !("advances" in ctx.measureText('Hello'));
- name: 2d.text.measure.actualBoundingBox
desc: Testing actualBoundingBox
Expand Down

0 comments on commit 2f33048

Please sign in to comment.