summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/canvas/tools/yaml-new
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/canvas/tools/yaml-new')
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/color_space.yaml23
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/compositing.yaml12
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/conformance_requirements.yaml5
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml32
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-rectangles-to-the-canvas.yaml12
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/fill-and-stroke-styles.yaml111
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/filters.yaml79
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml34
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/pixel-manipulation.yaml24
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/reset.yaml2
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/scroll.yaml13
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/shadows.yaml26
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/text.yaml28
-rw-r--r--testing/web-platform/tests/html/canvas/tools/yaml-new/video.yaml3
14 files changed, 204 insertions, 200 deletions
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/color_space.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/color_space.yaml
index 39556caf0a..56f6d01d30 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/color_space.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/color_space.yaml
@@ -36,8 +36,7 @@
- name: 2d.color.space.p3.toBlob.p3.canvas
desc: test if toblob returns p3 data from p3 color space canvas
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.fillStyle = "rgba(155, 27, 27, 1)";
ctx.fillRect(0, 0, 1, 1);
@@ -68,8 +67,7 @@
- name: 2d.color.space.p3.toDataURL.p3.canvas
desc: test if toDataURL returns p3 data from canvas with p3 color space
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.fillStyle = "rgba(155, 27, 27, 1)";
ctx.fillRect(0, 0, 1, 1);
@@ -96,8 +94,7 @@
- name: 2d.color.space.p3.toDataURL.jpeg.p3.canvas
desc: test if toDataURL('image/jpeg') returns p3 data from canvas with p3 color space
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.fillStyle = "rgba(155, 27, 27, 1)";
ctx.fillRect(0, 0, 1, 1);
@@ -124,8 +121,7 @@
- name: 2d.color.space.p3.toBlob.with.putImageData
desc: Use putImageData to put some p3 data in canvas and test if toBlob returns the same data
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.width = 2;
canvas.height = 2;
@@ -162,8 +158,7 @@
- name: 2d.color.space.p3.toDataURL.with.putImageData
desc: Use putImageData to put some p3 data in canvas and test if toDataURL returns the same data
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.width = 2;
canvas.height = 2;
@@ -197,7 +192,7 @@
- name: 2d.color.space.p3.fillText
desc: Test if fillText can be used with a solid display-p3 color
attributes: '{colorSpace: "display-p3"}'
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
deferTest();
@@ -236,8 +231,7 @@
- name: 2d.color.space.p3.strokeText
desc: Test if strokeText can be used with a solid display-p3 color
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
deferTest();
@@ -277,8 +271,7 @@
- name: 2d.color.space.p3.fillText.shadow
desc: Test if fillText can be used with a display-p3 shadow color
attributes: '{colorSpace: "display-p3"}'
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
deferTest();
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/compositing.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/compositing.yaml
index bd7fae1d62..6bd0aaad8a 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/compositing.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/compositing.yaml
@@ -43,7 +43,7 @@
expected: green
- name: 2d.composite.globalAlpha.canvas
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
canvas2.width = 100;
@@ -61,7 +61,7 @@
expected: green
- name: 2d.composite.globalAlpha.canvaspattern
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
canvas2.width = 100;
@@ -80,7 +80,7 @@
expected: green
- name: 2d.composite.globalAlpha.canvascopy
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
canvas2.width = 100;
@@ -173,7 +173,7 @@
expected: green
- name: 2d.composite.globalAlpha.canvas
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
var ctx2 = offscreenCanvas2.getContext('2d');
@@ -203,7 +203,7 @@
expected: green
- name: 2d.composite.globalAlpha.canvaspattern
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
var ctx2 = offscreenCanvas2.getContext('2d');
@@ -218,7 +218,7 @@
@assert pixel 50,25 ==~ 2,253,0,255;
- name: 2d.composite.globalAlpha.canvascopy
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
var ctx2 = offscreenCanvas2.getContext('2d');
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/conformance_requirements.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/conformance_requirements.yaml
index 3483d115f4..a070c0a6ef 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/conformance_requirements.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/conformance_requirements.yaml
@@ -1,7 +1,7 @@
- name: 2d.conformance.requirements.delete
desc: window.CanvasRenderingContext2D is Configurable
notes: &bindings Defined in "Web IDL" (draft)
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert window.CanvasRenderingContext2D !== undefined;
@assert delete window.CanvasRenderingContext2D === true;
@@ -172,7 +172,6 @@
desc: void methods return undefined
images:
- yellow.png
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert ctx.drawImage(document.getElementById('yellow.png'), 0, 0, 1, 1, 0, 0, 0, 0) === undefined;
-
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml
index 09e9e00186..7ebe9cca85 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-images-to-the-canvas.yaml
@@ -1,5 +1,5 @@
- name: 2d.drawImage.canvas
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
canvas2.width = 100;
@@ -70,12 +70,12 @@
desc: Incorrect image types in drawImage do not match any defined overloads, so
WebIDL throws a TypeError
notes: &bindings Defined in "Web IDL" (draft)
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert throws TypeError ctx.drawImage(document.createElement('p'), 0, 0);
- name: 2d.drawImage.incomplete.nosrc
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
mozilla: {throws: !!null ''}
code: |
ctx.fillStyle = '#0f0';
@@ -86,7 +86,7 @@
expected: green
- name: 2d.drawImage.incomplete.immediate
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
code: |
@@ -103,7 +103,7 @@
expected: green
- name: 2d.drawImage.incomplete.reload
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- yellow.png
- red.png
@@ -122,7 +122,7 @@
expected: green
- name: 2d.drawImage.incomplete.emptysrc
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
mozilla: {throws: !!null ''}
@@ -136,7 +136,7 @@
expected: green
- name: 2d.drawImage.incomplete.removedsrc
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
mozilla: {throws: !!null ''}
@@ -150,7 +150,7 @@
expected: green
- name: 2d.drawImage.nonexistent
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- not-found-at-all.png
code: |
@@ -159,7 +159,7 @@
- name: 2d.drawImage.zerocanvas
desc: drawImage with zero-sized canvas as the source shoud throw exception
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
canvas2.width = 0;
@@ -176,7 +176,7 @@
- name: 2d.drawImage.animated.gif
desc: drawImage() of an animated GIF draws the first frame
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- anim-gr.gif
code: |
@@ -330,7 +330,7 @@
@assert pixel 99,49 ==~ 0,255,0,255;
- name: 2d.drawImage.canvas
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
var ctx2 = offscreenCanvas2.getContext('2d');
@@ -344,7 +344,7 @@
@assert pixel 99,49 ==~ 0,255,0,255;
- name: 2d.drawImage.zerocanvas
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
var offscreenCanvas2 = new OffscreenCanvas(0, 10);
@assert throws INVALID_STATE_ERR ctx.drawImage(offscreenCanvas2, 0, 0);
@@ -385,7 +385,7 @@
- name: 2d.drawImage.zerosource.image
desc: drawImage with zero-sized source rectangle from image draws nothing without exception
test_type: promise
- canvasType: ['HTMLCanvas', 'OffscreenCanvas']
+ canvas_types: ['HtmlCanvas', 'OffscreenCanvas']
code: |
ctx.fillStyle = '#0f0';
ctx.fillRect(0, 0, 100, 50);
@@ -483,7 +483,7 @@
- name: 2d.drawImage.outsidesource
DISABLED: fix this to match the current spec (transparent black outside source)
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
const response_red = await fetch('/images/red.png');
const blob_red = await response_red.blob();
@@ -518,7 +518,7 @@
- name: 2d.drawImage.svg
desc: drawImage() of an SVG image
test_type: promise
- canvasType: ['HTMLCanvas', 'OffscreenCanvas']
+ canvas_types: ['HtmlCanvas', 'OffscreenCanvas']
code: |
const img = new Image();
const imageLoadPromise = new Promise((resolve, reject) => {
@@ -641,7 +641,7 @@
- name: 2d.drawImage.detachedcanvas
desc: drawImage with detached OffscreenCanvas as the source should throw exception
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = new OffscreenCanvas(80, 80);
(new MessageChannel()).port1.postMessage(canvas2, [canvas2]);
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-rectangles-to-the-canvas.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-rectangles-to-the-canvas.yaml
index 408e932abe..cb7ae0d858 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-rectangles-to-the-canvas.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/drawing-rectangles-to-the-canvas.yaml
@@ -375,8 +375,7 @@
- name: 2d.fillStyle.colorObject
desc: ctx.fillStyle works with color objects
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.fillStyle = {r: 1, g: 0, b: 0};
ctx.fillRect(0, 0, 100, 50);
@@ -400,8 +399,7 @@
- name: 2d.fillStyle.colorObject.transparency
desc: ctx.fillStyle with color objects has transparency
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.fillStyle = {r: 0, g: 1, b: 0, a: 0};
ctx.fillRect(0, 0, 100, 50);
@@ -422,8 +420,7 @@
- name: 2d.strokeStyle.colorObject
desc: ctx.strokeStyle works with color objects
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.lineWidth = 50;
ctx.strokeStyle = {r: 1, g: 0, b: 0};
@@ -448,8 +445,7 @@
- name: 2d.strokeStyle.colorObject.transparency
desc: ctx.strokeStyle with color objects has transparency
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.lineWidth = 50;
ctx.strokeStyle = {r: 0, g: 1, b: 0, a: 0};
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/fill-and-stroke-styles.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/fill-and-stroke-styles.yaml
index c992af6e7c..72d027a634 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/fill-and-stroke-styles.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/fill-and-stroke-styles.yaml
@@ -1,6 +1,6 @@
- name: 2d.fillStyle.parse.current.basic
desc: currentColor is computed from the canvas element
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.setAttribute('style', 'color: #0f0');
ctx.fillStyle = '#f00';
@@ -11,7 +11,7 @@
- name: 2d.fillStyle.parse.current.changed
desc: currentColor is computed when the attribute is set, not when it is painted
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.setAttribute('style', 'color: #0f0');
ctx.fillStyle = '#f00';
@@ -23,7 +23,7 @@
- name: 2d.fillStyle.parse.current.removed
desc: currentColor is solid black when the canvas element is not in a document
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
// Try not to let it undetectably incorrectly pick up opaque-black
// from other parts of the document:
@@ -119,7 +119,7 @@
desc: window.CanvasGradient exists and has the right properties
notes: &bindings Defined in "Web IDL" (draft)
code: |
- {% set root = 'self' if canvas_type == 'worker' else 'window' %}
+ {% set root = 'self' if canvas_type == 'Worker' else 'window' %}
@assert {{ root }}.CanvasGradient !== undefined;
@assert {{ root }}.CanvasGradient.prototype.addColorStop !== undefined;
@@ -127,7 +127,7 @@
desc: createLinearGradient() and createRadialGradient() returns objects implementing
CanvasGradient
code: |
- {% set root = 'self' if canvas_type == 'worker' else 'window' %}
+ {% set root = 'self' if canvas_type == 'Worker' else 'window' %}
{{ root }}.CanvasGradient.prototype.thisImplementsCanvasGradient = true;
var g1 = ctx.createLinearGradient(0, 0, 100, 0);
@@ -483,16 +483,17 @@
ctx.fillRect(0, 0, 100, 50);
@assert pixel 50,25 ==~ 0,255,0,255;
expected: green
+ append_variants_to_name: false
variants:
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ canvas_types: ['HtmlCanvas']
create_canvas: document.createElement('canvas')
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ canvas_types: ['OffscreenCanvas', 'Worker']
create_canvas: new OffscreenCanvas(100, 50)
- name: 2d.gradient.object.current
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.setAttribute('style', 'color: #f00');
@@ -1126,7 +1127,7 @@
images:
- green.png
code: |
- {% set root = 'self' if canvas_type == 'worker' else 'window' %}
+ {% set root = 'self' if canvas_type == 'Worker' else 'window' %}
@assert {{ root }}.CanvasPattern !== undefined;
{{ root }}.CanvasPattern.prototype.thisImplementsCanvasPattern = true;
@@ -1135,11 +1136,13 @@
var pattern = ctx.createPattern(img, 'no-repeat');
@assert pattern.thisImplementsCanvasPattern;
variants: &load-image-variant-definition
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ append_variants_to_name: false
+ canvas_types: ['HtmlCanvas']
load_image: var img = document.getElementById('{{ (images or svgimages)[0] }}');
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ append_variants_to_name: false
+ canvas_types: ['OffscreenCanvas', 'Worker']
test_type: promise
load_image: |-
var response = await fetch('/images/{{ (images or svgimages)[0] }}')
@@ -1189,14 +1192,16 @@
@assert pixel 98,48 == 0,255,0,255;
expected: green
variants: &create-canvas2-variant-definition
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ append_variants_to_name: false
+ canvas_types: ['HtmlCanvas']
create_canvas2: |-
var canvas2 = document.createElement('canvas');
canvas2.width = 100;
canvas2.height = 50;
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ append_variants_to_name: false
+ canvas_types: ['OffscreenCanvas', 'Worker']
create_canvas2: |-
var canvas2 = new OffscreenCanvas(100, 50);
@@ -1299,13 +1304,13 @@
@assert throws TypeError ctx.createPattern('../images/red.png', 'repeat');
- name: 2d.pattern.image.incomplete.nosrc
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var img = new Image();
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.image.incomplete.immediate
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
code: |
@@ -1318,7 +1323,7 @@
@assert ctx.createPattern(img, 'repeat') === null; @moz-todo
- name: 2d.pattern.image.incomplete.reload
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- yellow.png
- red.png
@@ -1333,7 +1338,7 @@
@assert ctx.createPattern(img, 'repeat') === null; @moz-todo
- name: 2d.pattern.image.incomplete.emptysrc
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
mozilla: {throws: !!null ''}
@@ -1343,7 +1348,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.image.incomplete.removedsrc
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
mozilla: {throws: !!null ''}
@@ -1353,7 +1358,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.image.broken
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- broken.png
code: |
@@ -1361,7 +1366,7 @@
@assert throws INVALID_STATE_ERR ctx.createPattern(img, 'repeat');
- name: 2d.pattern.image.nonexistent
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- no-such-image-really.png
code: |
@@ -1369,7 +1374,7 @@
@assert throws INVALID_STATE_ERR ctx.createPattern(img, 'repeat');
- name: 2d.pattern.svgimage.nonexistent
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
svgimages:
- no-such-image-really.png
code: |
@@ -1377,7 +1382,7 @@
@assert throws INVALID_STATE_ERR ctx.createPattern(img, 'repeat');
- name: 2d.pattern.image.nonexistent-but-loading
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var img = document.createElement("img");
img.src = "/images/no-such-image-really.png";
@@ -1387,7 +1392,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.image.nosrc
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var img = document.createElement("img");
@assert ctx.createPattern(img, 'repeat') === null;
@@ -1395,7 +1400,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.image.zerowidth
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red-zerowidth.svg
code: |
@@ -1403,7 +1408,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.image.zeroheight
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red-zeroheight.svg
code: |
@@ -1411,7 +1416,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.svgimage.zerowidth
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
svgimages:
- red-zerowidth.svg
code: |
@@ -1419,7 +1424,7 @@
@assert ctx.createPattern(img, 'repeat') === null;
- name: 2d.pattern.svgimage.zeroheight
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
svgimages:
- red-zeroheight.svg
code: |
@@ -1469,7 +1474,7 @@
@assert throws SYNTAX_ERR ctx.createPattern(canvas, "repeat\0");
- name: 2d.pattern.modify.image1
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- green.png
code: |
@@ -1490,7 +1495,7 @@
expected: green
- name: 2d.pattern.modify.image2
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- green.png
code: |
@@ -1515,7 +1520,7 @@
expected: green
- name: 2d.pattern.modify.canvas1
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
{{ create_canvas2 }}
var ctx2 = canvas2.getContext('2d');
@@ -1577,13 +1582,14 @@
@assert pixel 50,25 == 0,255,0,255;
expected: green
+ append_variants_to_name: false
variants:
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ canvas_types: ['HtmlCanvas']
load_image: var img = document.getElementById('{{ images[0] }}');
create_canvas: document.createElement('canvas')
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ canvas_types: ['OffscreenCanvas', 'Worker']
test_type: promise
load_image: |-
var response = await fetch('/images/{{ images[0] }}')
@@ -1987,7 +1993,7 @@
- name: 2d.pattern.animated.gif
desc: createPattern() of an animated GIF draws the first frame
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- anim-gr.gif
code: |
@@ -2006,7 +2012,7 @@
- name: 2d.fillStyle.CSSRGB
desc: CSSRGB works as color input
- canvasType: ['HtmlCanvas', 'OffscreenCanvas']
+ canvas_types: ['HtmlCanvas', 'OffscreenCanvas']
code: |
ctx.fillStyle = new CSSRGB(1, 0, 1);
@assert ctx.fillStyle === '#ff00ff';
@@ -2046,7 +2052,7 @@
- name: 2d.fillStyle.CSSHSL
desc: CSSHSL works as color input
- canvasType: ['HtmlCanvas', 'OffscreenCanvas']
+ canvas_types: ['HtmlCanvas', 'OffscreenCanvas']
code: |
ctx.fillStyle = new CSSHSL(CSS.deg(180), 0.5, 0.5);
ctx.fillRect(0, 0, 100, 50);
@@ -2077,7 +2083,7 @@
- name: 2d.fillStyle.colormix
desc: color-mix works as color input
- canvasType: ['HtmlCanvas', 'OffscreenCanvas', 'Worker']
+ canvas_types: ['HtmlCanvas', 'OffscreenCanvas', 'Worker']
code: |
ctx.fillStyle = "color-mix(in srgb, red, blue)";
@assert ctx.fillStyle === 'color(srgb 0.5 0 0.5)';
@@ -2086,7 +2092,7 @@
- name: 2d.fillStyle.colormix.currentcolor
desc: color-mix works as color input with currentcolor
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.setAttribute('style', 'color: magenta');
ctx.fillStyle = "color-mix(in srgb, black, currentcolor)";
@@ -2096,9 +2102,22 @@
- name: 2d.strokeStyle.colormix
desc: color-mix works as color input
- canvasType: ['HtmlCanvas', 'OffscreenCanvas']
+ canvas_types: ['HtmlCanvas', 'OffscreenCanvas']
code: |
ctx.strokeStyle = "color-mix(in srgb, red, blue)";
@assert ctx.strokeStyle === 'color(srgb 0.5 0 0.5)';
ctx.strokeStyle = "color-mix(in srgb, red, color(srgb 1 0 0))";
@assert ctx.strokeStyle === 'color(srgb 1 0 0)';
+
+- name: 2d.gradient.colormix
+ desc: color-mix works as CanvasGradient color input
+ canvas_types: ['HtmlCanvas']
+ code: |
+ var g = ctx.createLinearGradient(0, 0, 100, 0);
+ g.addColorStop(0, '#f00');
+ g.addColorStop(1, 'color-mix(in srgb, #0f0, #00f)');
+ ctx.fillStyle = g;
+ ctx.fillRect(0, 0, 100, 50);
+ @assert pixel 25,25 ==~ 212,81,61,255 +/- 3;
+ @assert pixel 50,25 ==~ 167,106,88,255 +/- 3;
+ @assert pixel 75,25 ==~ 113,120,109,255 +/- 3;
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/filters.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/filters.yaml
index f327b9fe94..1ce9d8ed74 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/filters.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/filters.yaml
@@ -34,8 +34,7 @@
- name: 2d.filter.canvasFilterObject.tentative
desc: Test CanvasFilter() object
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert ctx.filter == 'none';
ctx.filter = 'blur(5px)';
@@ -63,7 +62,7 @@
- name: 2d.filter.canvasFilterObject.tentative
desc: Test CanvasFilter() object
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
@assert ctx.filter == 'none';
ctx.filter = 'blur(5px)';
@@ -106,7 +105,7 @@
"{name: 'gaussianBlur', stdDeviation: {}}") }};
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter:
param})
@@ -199,7 +198,7 @@
@assert pixel 60,30 ==~ 0,255,0,255;
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter:
param})
@@ -251,7 +250,7 @@
{{ close_layer -}}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter:
param})
@@ -325,7 +324,7 @@
{{ close_layer }}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param})
close_layer: ctx.endLayer();
@@ -376,7 +375,7 @@
}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param})
close_layer: ctx.endLayer();
@@ -451,7 +450,7 @@
}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param})
close_layer: ctx.endLayer();
@@ -530,7 +529,7 @@
}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param})
close_layer: ctx.endLayer();
@@ -608,7 +607,7 @@
}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param})
close_layer: ctx.endLayer();
@@ -641,30 +640,30 @@
fill="teal" filter="url(#blur)" />
</svg>
append_variants_to_name: false
- variant_matrix:
- - layers:
- filter_declaration: |-
- ctx.beginLayer({filter: param});
- close_layer: ctx.endLayer();
- canvasFilterObject:
- filter_declaration: |-
- ctx.filter = new CanvasFilter(param);
- tentative: .tentative
- - x-only:
- blur_x: 4
- blur_y: 0
- mostly-x:
- blur_x: 4
- blur_y: 1
- isotropic:
- blur_x: 4
- blur_y: 4
- mostly-y:
- blur_x: 1
- blur_y: 4
- y-only:
- blur_x: 0
- blur_y: 4
+ variants:
+ - layers:
+ filter_declaration: |-
+ ctx.beginLayer({filter: param});
+ close_layer: ctx.endLayer();
+ canvasFilterObject:
+ filter_declaration: |-
+ ctx.filter = new CanvasFilter(param);
+ tentative: .tentative
+ - x-only:
+ blur_x: 4
+ blur_y: 0
+ mostly-x:
+ blur_x: 4
+ blur_y: 1
+ isotropic:
+ blur_x: 4
+ blur_y: 4
+ mostly-y:
+ blur_x: 1
+ blur_y: 4
+ y-only:
+ blur_x: 0
+ blur_y: 4
- name: 2d.filter.{{ variant_names[0] }}.dropShadow{{ tentative }}
desc: Test CanvasFilter() dropShadow object.
@@ -818,7 +817,7 @@
</svg>
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param});
close_layer: |
@@ -838,10 +837,6 @@
<10 | -1 | 0.5 | null | true | false | [] | [20] | '30'>}") }};
@unroll {{ filter_declaration | replace("param", "{\-
name: 'dropShadow', \-
- <dx | dy | floodOpacity>: \-
- <10 | -1 | 0.5 | null | true | false | [] | [20] | '30'>}") }};
- @unroll {{ filter_declaration | replace("param", "{\-
- name: 'dropShadow', \-
<stdDeviation>: \-
<10 | -1 | 0.5 | null | true | false | [] | [20] | '30' | \-
[10, -1] | [0.5, null] | [true, false] | [[], [20]] | \-
@@ -869,7 +864,7 @@
<'test' | 'rgba(NaN, 3, 2, 1)' | 10 | undefined | null | NaN>}") }};
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter:
param}); ctx.endLayer()
@@ -990,7 +985,7 @@
}
append_variants_to_name: false
variants:
- layers:
+ - layers:
filter_declaration: |-
ctx.beginLayer({filter: param})
close_layer: "\n ctx.endLayer();"
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml
index 437a70c3f7..d1e9a97043 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/layers.yaml
@@ -41,7 +41,8 @@
ctx2.fillRect(70, 70, 75, 50);
ctx.drawImage(canvas2, 0, 0);
- variants: &global-state-variants
+ variants:
+ - &global-state-variants
no-global-states:
render_states: // No global states.
alpha: &global-state-alpha
@@ -168,7 +169,7 @@
};
img.src = 'data:image/svg+xml;base64,' + btoa(svg);
variants:
- <<: *global-state-variants
+ - <<: *global-state-variants
alpha:
<<: *global-state-alpha
fuzzy: maxDifference=0-2; totalPixels=0-6766
@@ -287,6 +288,7 @@
- name: 2d.layer.layer-rendering-state-reset-in-layer
desc: Tests that layers ignore the global context filter.
+ test_type: sync
code: |
ctx.globalAlpha = 0.5;
ctx.globalCompositeOperation = 'xor';
@@ -556,7 +558,7 @@
- name: 2d.layer.flush-on-frame-presentation
desc: Check that layers state stack is flushed and rebuilt on frame renders.
size: [200, 200]
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
test_type: "promise"
code: |
ctx.fillStyle = 'purple';
@@ -612,7 +614,7 @@
assert_throws_dom("InvalidStateError",
() => {{ operation }});
variants:
- createPattern:
+ - createPattern:
operation: ctx.createPattern(canvas, 'repeat')
drawImage:
setup: |-
@@ -630,10 +632,10 @@
operation: |-
ctx.putImageData(data, 0, 0)
toDataURL:
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
operation: canvas.toDataURL()
transferToImageBitmap:
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
operation: canvas.transferToImageBitmap()
- name: 2d.layer.malformed-operations-with-promises
@@ -651,14 +653,14 @@
ctx.beginLayer();
await promise_rejects_dom(t, 'InvalidStateError', {{ operation }});
variants:
- convertToBlob:
- canvasType: ['OffscreenCanvas', 'Worker']
+ - convertToBlob:
+ canvas_types: ['OffscreenCanvas', 'Worker']
operation: |-
canvas.convertToBlob()
createImageBitmap:
operation: createImageBitmap(canvas)
toBlob:
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
operation: |-
new Promise(resolve => canvas.toBlob(resolve))
@@ -824,7 +826,7 @@
- name: 2d.layer.valid-calls
desc: No exception raised on {{ variant_desc }}.
variants:
- save:
+ - save:
variant_desc: lone save() calls
code: ctx.save();
beginLayer:
@@ -867,7 +869,7 @@
{{ call_sequence | indent(2) }}
});
variants:
- endLayer:
+ - endLayer:
variant_desc: lone endLayer calls
call_sequence: ctx.endLayer();
save-endLayer:
@@ -995,7 +997,7 @@
};
img.src = 'data:image/svg+xml;base64,' + btoa(svg);
variants:
- no-clipping:
+ - no-clipping:
clipping: // No clipping.
with-clipping:
clipping: |-
@@ -1029,7 +1031,7 @@
ctx.fillStyle = 'green';
ctx.fillRect(0, 0, 100, 100);
variants:
- short-distance:
+ - short-distance:
distance: |-
const delta = 1;
clipping: // No clipping.
@@ -1056,7 +1058,7 @@
desc: Checks that layer blending works inside opaque canvas
size: [300, 300]
code: |
- {% if canvas_type == 'htmlcanvas' %}
+ {% if canvas_type == 'HtmlCanvas' %}
const canvas2 = document.createElement('canvas');
canvas2.width = 200;
canvas2.height = 200;
@@ -1126,7 +1128,7 @@
</g>
</svg>
variants:
- blur:
+ - blur:
ctx_filter: |-
'blur(10px)'
svg_filter: |-
@@ -1149,7 +1151,7 @@
code: *filter-test-code
html_reference: *filter-test-reference
variants:
- x-only:
+ - x-only:
ctx_filter: |-
{ name: 'gaussianBlur', stdDeviation: [4, 0] }
svg_filter: |-
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/pixel-manipulation.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/pixel-manipulation.yaml
index 0643b047b1..6721f5ffde 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/pixel-manipulation.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/pixel-manipulation.yaml
@@ -11,7 +11,7 @@
- name: 2d.imageData.create2.type
desc: createImageData(sw, sh) returns an ImageData object containing a Uint8ClampedArray
object
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert window.ImageData !== undefined;
@assert window.Uint8ClampedArray !== undefined;
@@ -24,7 +24,7 @@
- name: 2d.imageData.create1.type
desc: createImageData(imgdata) returns an ImageData object containing a Uint8ClampedArray
object
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert window.ImageData !== undefined;
@assert window.Uint8ClampedArray !== undefined;
@@ -36,7 +36,7 @@
- name: 2d.imageData.create2.this
desc: createImageData(sw, sh) should throw when called with the wrong |this|
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
notes: &bindings Defined in "Web IDL" (draft)
code: |
@assert throws TypeError CanvasRenderingContext2D.prototype.createImageData.call(null, 1, 1); @moz-todo
@@ -45,7 +45,7 @@
- name: 2d.imageData.create1.this
desc: createImageData(imgdata) should throw when called with the wrong |this|
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
notes: *bindings
code: |
var imgdata = ctx.createImageData(1, 1);
@@ -160,7 +160,7 @@
- name: 2d.imageData.create.and.resize
desc: Verify no crash when resizing an image bitmap to zero.
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
images:
- red.png
code: |
@@ -179,7 +179,7 @@
@assert ctx.getImageData(0, 0, 100, 50) !== null;
- name: 2d.imageData.get.type
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
desc: getImageData() returns an ImageData object containing a Uint8ClampedArray
object
code: |
@@ -502,7 +502,7 @@
@assert imgdata.data[3] === 0;
- name: 2d.imageData.object.ctor.size
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
desc: ImageData has a usable constructor
code: |
@assert window.ImageData !== undefined;
@@ -516,7 +516,7 @@
}
- name: 2d.imageData.object.ctor.basics
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
desc: Testing different type of ImageData constructor
code: |
function setRGBA(imageData, i, rgba)
@@ -608,7 +608,7 @@
- name: 2d.imageData.object.ctor.array
desc: ImageData has a usable constructor
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert window.ImageData !== undefined;
@@ -620,7 +620,7 @@
- name: 2d.imageData.object.ctor.array.bounds
desc: ImageData has a usable constructor
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
@assert window.ImageData !== undefined;
@@ -803,7 +803,7 @@
- name: 2d.imageData.put.cross
desc: putImageData() accepts image data got from a different canvas
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
var ctx2 = canvas2.getContext('2d');
@@ -818,7 +818,7 @@
- name: 2d.imageData.put.cross
desc: putImageData() accepts image data got from a different canvas
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
var offscreenCanvas2 = new OffscreenCanvas(100, 50);
var ctx2 = offscreenCanvas2.getContext('2d');
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/reset.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/reset.yaml
index 086fb04e04..27764e4550 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/reset.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/reset.yaml
@@ -24,7 +24,7 @@
@assert ctx.{{ state_name }} == default_value;
variants:
- letter_spacing:
+ - letter_spacing:
state_name: letterSpacing
new_value: "'12px'"
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/scroll.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/scroll.yaml
index dd088aa396..0579a8b3d7 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/scroll.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/scroll.yaml
@@ -1,7 +1,6 @@
- name: 2d.scrollPathIntoView.basic
desc: scrollPathIntoView() works
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var div = document.createElement('div');
div.style.cssText = 'width: 200vw; height: 200vh';
@@ -18,8 +17,7 @@
- name: 2d.scrollPathIntoView.verticalLR
desc: scrollPathIntoView() works in vertical-lr writing mode
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
document.documentElement.style.cssText = 'writing-mode: vertical-lr';
var div = document.createElement('div');
@@ -37,8 +35,7 @@
- name: 2d.scrollPathIntoView.verticalRL
desc: scrollPathIntoView() works in vertical-rl writing mode
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
document.documentElement.style.cssText = 'writing-mode: vertical-rl';
var div = document.createElement('div');
@@ -58,8 +55,7 @@
- name: 2d.scrollPathIntoView.path
desc: scrollPathIntoView() with path argument works
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var div = document.createElement('div');
div.style.cssText = 'width: 200vw; height: 200vh';
@@ -73,4 +69,3 @@
var rect = canvas.getBoundingClientRect();
@assert Math.round(rect.top) === -8;
@assert Math.round(rect.left) === 200;
-
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/shadows.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/shadows.yaml
index 953ab2c555..e42237dadb 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/shadows.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/shadows.yaml
@@ -136,7 +136,7 @@
- name: 2d.shadow.attributes.shadowColor.current.basic
desc: currentColor is computed from the canvas element
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.style.color = '#0f0';
ctx.shadowColor = 'currentColor';
@@ -144,7 +144,7 @@
- name: 2d.shadow.attributes.shadowColor.current.changed
desc: currentColor is computed when the attribute is set, not when it is painted
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
canvas.style.color = '#0f0';
ctx.shadowColor = 'currentColor';
@@ -153,7 +153,7 @@
- name: 2d.shadow.attributes.shadowColor.current.removed
desc: currentColor is solid black when the canvas element is not in a document
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
// Try not to let it undetectably incorrectly pick up opaque-black
// from other parts of the document:
@@ -518,11 +518,13 @@
@assert pixel 50,25 == 0,255,0,255;
expected: green
variants: &load-image-variant-definition
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ append_variants_to_name: false
+ canvas_types: ['HtmlCanvas']
load_image: var img = document.getElementById('{{ images[0] }}');
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ append_variants_to_name: false
+ canvas_types: ['OffscreenCanvas', 'Worker']
test_type: promise
load_image: |-
var response = await fetch('/images/{{ images[0] }}')
@@ -640,14 +642,16 @@
@assert pixel 50,25 == 0,255,0,255;
expected: green
variants: &create-canvas2-variant-definition
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ append_variants_to_name: false
+ canvas_types: ['HtmlCanvas']
create_canvas2: |-
var canvas2 = document.createElement('canvas');
canvas2.width = 100;
canvas2.height = 50;
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ append_variants_to_name: false
+ canvas_types: ['OffscreenCanvas', 'Worker']
create_canvas2: |-
var canvas2 = new OffscreenCanvas(100, 50);
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/text.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/text.yaml
index ca945c2953..7f2047bc9c 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/text.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/text.yaml
@@ -38,7 +38,7 @@
- name: 2d.text.font.parse.size.percentage
canvas: 'style="font-size: 144px"'
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
ctx.font = '50% serif';
@assert ctx.font === '72px serif'; @moz-todo
@@ -46,7 +46,7 @@
@assert ctx.font === '72px serif'; @moz-todo
- name: 2d.text.font.parse.size.percentage.default
- canvasType: ['HtmlCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
var ctx2 = canvas2.getContext('2d');
@@ -113,7 +113,7 @@
@assert ctx.font === '10px sans-serif';
- name: 2d.text.font.relative_size
- canvasType: ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var canvas2 = document.createElement('canvas');
var ctx2 = canvas2.getContext('2d');
@@ -121,7 +121,7 @@
@assert ctx2.font === '10px sans-serif';
- name: 2d.text.font.relative_size
- canvasType: ['OffscreenCanvas', 'Worker']
+ canvas_types: ['OffscreenCanvas', 'Worker']
code: |
ctx.font = '1em sans-serif';
@assert ctx.font === '10px sans-serif';
@@ -236,16 +236,18 @@
@assert pixel 95,45 ==~ 0,255,0,255;
expected: green
variants: &load-font-variant-definition
- _HtmlCanvas:
- canvasType: ['HtmlCanvas']
+ - HtmlCanvas:
+ append_variants_to_name: false
+ canvas_types: ['HtmlCanvas']
load_font: |-
await document.fonts.ready;
- _OffscreenCanvas:
- canvasType: ['OffscreenCanvas', 'Worker']
+ OffscreenCanvas:
+ append_variants_to_name: false
+ canvas_types: ['OffscreenCanvas', 'Worker']
load_font: |-
var f = new FontFace("{{ fonts[0] }}", "url('/fonts/{{ fonts[0] }}.ttf')");
f.load();
- {% set root = 'self' if canvas_type == 'worker' else 'document' %}
+ {% set root = 'self' if canvas_type == 'Worker' else 'document' %}
{{ root }}.fonts.add(f);
await {{ root }}.fonts.ready;
@@ -813,7 +815,7 @@
code: |
{{ load_font }}
ctx.font = '50px CanvasTest';
- {% if canvas_type != 'htmlcanvas' %}
+ {% if canvas_type != 'HtmlCanvas' %}
ctx.direction = 'ltr';
{% endif %}
ctx.fillStyle = '#f00';
@@ -839,7 +841,7 @@
code: |
{{ load_font }}
ctx.font = '50px CanvasTest';
- {% if canvas_type != 'htmlcanvas' %}
+ {% if canvas_type != 'HtmlCanvas' %}
ctx.direction = 'rtl';
{% endif %}
ctx.fillStyle = '#f00';
@@ -865,7 +867,7 @@
code: |
{{ load_font }}
ctx.font = '50px CanvasTest';
- {% if canvas_type != 'htmlcanvas' %}
+ {% if canvas_type != 'HtmlCanvas' %}
ctx.direction = 'ltr';
{% endif %}
ctx.fillStyle = '#f00';
@@ -891,7 +893,7 @@
code: |
{{ load_font }}
ctx.font = '50px CanvasTest';
- {% if canvas_type != 'htmlcanvas' %}
+ {% if canvas_type != 'HtmlCanvas' %}
ctx.direction = 'rtl';
{% endif %}
ctx.fillStyle = '#f00';
diff --git a/testing/web-platform/tests/html/canvas/tools/yaml-new/video.yaml b/testing/web-platform/tests/html/canvas/tools/yaml-new/video.yaml
index f9b48fb8da..ca8a1ab816 100644
--- a/testing/web-platform/tests/html/canvas/tools/yaml-new/video.yaml
+++ b/testing/web-platform/tests/html/canvas/tools/yaml-new/video.yaml
@@ -1,7 +1,6 @@
- name: 2d.video.invalid
desc: Verify test doesn't crash with invalid video.
- canvasType:
- ['HTMLCanvas']
+ canvas_types: ['HtmlCanvas']
code: |
var v = document.createElement('video');
v.play();