| 2d.fillStyle.colormix.currentcolor.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.colormix.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.colorObject.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.colorObject.transparency.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.CSSHSL.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.CSSRGB.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.default.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.get.halftransparent.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.get.semitransparent.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.get.solid.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.get.transparent.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.invalidstring.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.invalidtype.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-7.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-8.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsl-9.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-7.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-8.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-hsla-9.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgb-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgb-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgb-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgb-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgb-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgb-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgba-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgba-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgba-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgba-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgba-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.css-color-4-rgba-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.current.basic.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.current.changed.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.current.removed.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.hex3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hex4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hex6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hex8.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsl-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsl-2.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.hsl-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsl-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsl-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsl-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsl-clamp-negative-saturation.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsla-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsla-2.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.hsla-clamp-alpha-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsla-clamp-alpha-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.hsla-clamp-negative-saturation.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.html4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsl-7.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsla-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsla-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-hsla-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgb-7.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgba-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgba-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.css-color-4-rgba-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex7.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hex8.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hsl-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hsl-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hsl-3.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.invalid.hsl-4.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.invalid.hsl-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hsl-6.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hsla-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.hsla-2.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.invalid.hsla-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.name-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.name-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.name-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.name-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.name-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.rgb-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.rgb-2.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.invalid.rgb-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.rgba-1.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.invalid.rgba-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.rgba-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.rgba-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.invalid.rgba-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-clamp-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-clamp-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-clamp-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-clamp-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-clamp-5.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-eof.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.rgb-num.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgb-percent.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-clamp-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-clamp-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-eof.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.rgba-num-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-num-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-percent.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-solid-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-solid-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-solid-3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.rgba-solid-4.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.svg-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.svg-2.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.system.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.parse.transparent-1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.parse.transparent-2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.fillStyle.relativecolor.currentcolor.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.relativecolor.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.fillStyle.toStringFunctionCallback.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.colormix.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.conic.invalid.inputs.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.conic.negative.rotation.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.conic.positive.rotation.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.empty.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.alpha.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.color.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.coloralpha.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.multiple.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.outside.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.overlap.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.overlap2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.solid.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.vertical.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.interpolate.zerosize.fill.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.zerosize.fillRect.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.zerosize.fillText.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.zerosize.stroke.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.zerosize.strokeRect.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.interpolate.zerosize.strokeText.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.linear.nonfinite.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.linear.transform.1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.linear.transform.2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.linear.transform.3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.object.compare.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.object.crosscanvas.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.object.current.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.object.invalidcolor.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.object.invalidoffset.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.object.return.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.object.type.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.object.update.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.radial.cone.behind.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.beside.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.bottom.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.cylinder.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.front.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.shape1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.shape2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.cone.top.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.equal.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.radial.inside1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.inside2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.inside3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.negative.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.nonfinite.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.gradient.radial.outside1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.outside2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.outside3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.touch1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.touch2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.touch3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.transform.1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.transform.2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.radial.transform.3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.gradient.relativecolor.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.animated.gif.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.basic.canvas.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.basic.image.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.basic.nocontext.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.basic.type.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.basic.zerocanvas.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.crosscanvas.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.image.broken.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.image.incomplete.emptysrc.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.incomplete.immediate.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.image.incomplete.nosrc.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.incomplete.reload.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.image.incomplete.removedsrc.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.nonexistent-but-loading.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.image.nonexistent.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.image.nosrc.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.null.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.string.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.undefined.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.zeroheight.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.image.zerowidth.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.modify.canvas1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.modify.canvas2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.modify.image1.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.modify.image2.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.paint.norepeat.basic.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.norepeat.coord1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.norepeat.coord2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.norepeat.coord3.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.paint.norepeat.outside_arc.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.paint.norepeat.outside.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.orientation.canvas.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.orientation.image.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeat.basic.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeat.coord1.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeat.coord2.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeat.coord3.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeat.outside.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeatx.basic.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeatx.coord1.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.paint.repeatx.outside.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.paint.repeaty.basic.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.paint.repeaty.coord1.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.paint.repeaty.outside.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.repeat.case.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.repeat.empty.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.repeat.null.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.repeat.nullsuffix.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.repeat.undefined.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.repeat.unrecognised.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.repeat.unrecognisednull.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.svgimage.nonexistent.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.svgimage.zeroheight.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.svgimage.zerowidth.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.pattern.transform.identity.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.transform.infinity.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.pattern.transform.invalid.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.strokeStyle.colormix.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.strokeStyle.colorObject.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.strokeStyle.colorObject.transparency.html▶ | 0.0% 0 / 1 | FAIL | FAIL |
| 2d.strokeStyle.default.html▶ | 100.0% 1 / 1 | PASS | PASS |
| 2d.strokeStyle.relativecolor.html▶ | 0.0% 0 / 1 | FAIL | FAIL |