Click here to download the Blitz Browser!

WPT

This page compares scores on the Web Platform Tests across web engines, using the latest master runs from wpt.fyi and Blitz's own test runner.


wpt / html / canvas / element / fill-and-stroke-styles

Spec: https://html.spec.whatwg.org/multipage/canvas.html#2dcontext ↗

Runs: Chrome 155.0.8038.0 (wpt@05fffeacb, 2026-09-02) | Firefox 157.0a1 (wpt@7addae031, 2026-09-02) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-410b4 (wpt@ce41a9c47, 2026-09-02) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)

Sort areas: alphabetical | by subtest count

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