path-objects

Subtests passing

89.2%

181 of 203

Test files passing

89.2%

181 of 203

Files by outcome

pass
181
fail
22

Contents

NameSubtests passingResultExpected
2d.path.arc.angle.1.html▶100.0% 1 / 1PASSPASS
2d.path.arc.angle.2.html▶100.0% 1 / 1PASSPASS
2d.path.arc.angle.3.html▶100.0% 1 / 1PASSPASS
2d.path.arc.angle.4.html▶100.0% 1 / 1PASSPASS
2d.path.arc.angle.5.html▶100.0% 1 / 1PASSPASS
2d.path.arc.angle.6.html▶100.0% 1 / 1PASSPASS
2d.path.arc.default.html▶100.0% 1 / 1PASSPASS
2d.path.arc.empty.html▶100.0% 1 / 1PASSPASS
2d.path.arc.end.html▶100.0% 1 / 1PASSPASS
2d.path.arc.negative.html▶100.0% 1 / 1PASSPASS
2d.path.arc.nonempty.html▶100.0% 1 / 1PASSPASS
2d.path.arc.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.arc.scale.1.html▶100.0% 1 / 1PASSPASS
2d.path.arc.scale.2.html▶100.0% 1 / 1PASSPASS
2d.path.arc.selfintersect.1.html▶100.0% 1 / 1PASSPASS
2d.path.arc.selfintersect.2.html▶100.0% 1 / 1PASSPASS
2d.path.arc.shape.1.html▶100.0% 1 / 1PASSPASS
2d.path.arc.shape.2.html▶100.0% 1 / 1PASSPASS
2d.path.arc.shape.3.html▶100.0% 1 / 1PASSPASS
2d.path.arc.shape.4.html▶100.0% 1 / 1PASSPASS
2d.path.arc.shape.5.html▶100.0% 1 / 1PASSPASS
2d.path.arc.twopie.1.html▶100.0% 1 / 1PASSPASS
2d.path.arc.twopie.2.html▶100.0% 1 / 1PASSPASS
2d.path.arc.twopie.3.html▶100.0% 1 / 1PASSPASS
2d.path.arc.twopie.4.html▶100.0% 1 / 1PASSPASS
2d.path.arc.twopie.5.html▶100.0% 1 / 1PASSPASS
2d.path.arc.twopie.6.html▶100.0% 1 / 1PASSPASS
2d.path.arc.zero.1.html▶100.0% 1 / 1PASSPASS
2d.path.arc.zero.2.html▶100.0% 1 / 1PASSPASS
2d.path.arc.zeroradius.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.coincide.1.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.coincide.2.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.collinear.1.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.collinear.2.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.collinear.3.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.ensuresubpath.1.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.ensuresubpath.2.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.ensuresubpath.3.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.negative.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.arcTo.scale.html▶0.0% 0 / 1FAILFAIL
2d.path.arcTo.shape.curve1.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.shape.curve2.html▶0.0% 0 / 1FAILFAIL
2d.path.arcTo.shape.end.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.shape.start.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.transformation.html▶0.0% 0 / 1FAILFAIL
2d.path.arcTo.zero.1.html▶100.0% 1 / 1PASSPASS
2d.path.arcTo.zero.2.html▶100.0% 1 / 1PASSPASS
2d.path.beginPath.html▶100.0% 1 / 1PASSPASS
2d.path.bezierCurveTo.basic.html▶100.0% 1 / 1PASSPASS
2d.path.bezierCurveTo.ensuresubpath.1.html▶100.0% 1 / 1PASSPASS
2d.path.bezierCurveTo.ensuresubpath.2.html▶100.0% 1 / 1PASSPASS
2d.path.bezierCurveTo.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.bezierCurveTo.scaled.html▶100.0% 1 / 1PASSPASS
2d.path.bezierCurveTo.shape.html▶100.0% 1 / 1PASSPASS
2d.path.clip.basic.1.html▶100.0% 1 / 1PASSPASS
2d.path.clip.basic.2.html▶100.0% 1 / 1PASSPASS
2d.path.clip.empty.html▶100.0% 1 / 1PASSPASS
2d.path.clip.intersect.html▶100.0% 1 / 1PASSPASS
2d.path.clip.unaffected.html▶100.0% 1 / 1PASSPASS
2d.path.clip.winding.1.html▶100.0% 1 / 1PASSPASS
2d.path.clip.winding.2.html▶100.0% 1 / 1PASSPASS
2d.path.clip.winding.evenodd.1.html▶100.0% 1 / 1PASSPASS
2d.path.clip.winding.evenodd.2.html▶100.0% 1 / 1PASSPASS
2d.path.closed.arc.html▶100.0% 1 / 1PASSPASS
2d.path.closePath.empty.html▶100.0% 1 / 1PASSPASS
2d.path.closePath.newline.html▶100.0% 1 / 1PASSPASS
2d.path.closePath.nextpoint.html▶100.0% 1 / 1PASSPASS
2d.path.ellipse.basics.html▶100.0% 1 / 1PASSPASS
2d.path.fill.closed.basic.html▶100.0% 1 / 1PASSPASS
2d.path.fill.closed.unaffected.html▶100.0% 1 / 1PASSPASS
2d.path.fill.overlap.html▶100.0% 1 / 1PASSPASS
2d.path.fill.winding.add.html▶100.0% 1 / 1PASSPASS
2d.path.fill.winding.evenodd.1.html▶100.0% 1 / 1PASSPASS
2d.path.fill.winding.evenodd.2.html▶100.0% 1 / 1PASSPASS
2d.path.fill.winding.subtract.1.html▶100.0% 1 / 1PASSPASS
2d.path.fill.winding.subtract.2.html▶100.0% 1 / 1PASSPASS
2d.path.fill.winding.subtract.3.html▶100.0% 1 / 1PASSPASS
2d.path.initial.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.arc.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.basic.1.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.basic.2.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.basic.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInPath.bezier.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.bigarc.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.edge.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInPath.empty.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInpath.invalid.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInpath.multi.path.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInPath.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInPath.outside.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.subpath.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.transform.1.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.transform.2.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.transform.3.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.transform.4.html▶100.0% 1 / 1PASSPASS
2d.path.isPointInPath.unclosed.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInPath.winding.html▶0.0% 0 / 1FAILFAIL
2d.path.isPointInStroke.scaleddashes.html▶0.0% 0 / 1FAILFAIL
2d.path.lineTo.basic.html▶100.0% 1 / 1PASSPASS
2d.path.lineTo.ensuresubpath.1.html▶100.0% 1 / 1PASSPASS
2d.path.lineTo.ensuresubpath.2.html▶100.0% 1 / 1PASSPASS
2d.path.lineTo.nextpoint.html▶100.0% 1 / 1PASSPASS
2d.path.lineTo.nonfinite.details.html▶100.0% 1 / 1PASSPASS
2d.path.lineTo.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.moveTo.basic.html▶100.0% 1 / 1PASSPASS
2d.path.moveTo.multiple.html▶100.0% 1 / 1PASSPASS
2d.path.moveTo.newsubpath.html▶100.0% 1 / 1PASSPASS
2d.path.moveTo.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.open.arc.html▶100.0% 1 / 1PASSPASS
2d.path.quadraticCurveTo.basic.html▶100.0% 1 / 1PASSPASS
2d.path.quadraticCurveTo.ensuresubpath.1.html▶100.0% 1 / 1PASSPASS
2d.path.quadraticCurveTo.ensuresubpath.2.html▶100.0% 1 / 1PASSPASS
2d.path.quadraticCurveTo.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.quadraticCurveTo.scaled.html▶100.0% 1 / 1PASSPASS
2d.path.quadraticCurveTo.shape.html▶100.0% 1 / 1PASSPASS
2d.path.rect.basic.html▶100.0% 1 / 1PASSPASS
2d.path.rect.closed.html▶100.0% 1 / 1PASSPASS
2d.path.rect.end.1.html▶100.0% 1 / 1PASSPASS
2d.path.rect.end.2.html▶100.0% 1 / 1PASSPASS
2d.path.rect.negative.html▶100.0% 1 / 1PASSPASS
2d.path.rect.newsubpath.html▶100.0% 1 / 1PASSPASS
2d.path.rect.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.rect.selfintersect.html▶100.0% 1 / 1PASSPASS
2d.path.rect.winding.html▶100.0% 1 / 1PASSPASS
2d.path.rect.zero.1.html▶100.0% 1 / 1PASSPASS
2d.path.rect.zero.2.html▶100.0% 1 / 1PASSPASS
2d.path.rect.zero.3.html▶100.0% 1 / 1PASSPASS
2d.path.rect.zero.4.html▶100.0% 1 / 1PASSPASS
2d.path.rect.zero.5.html▶100.0% 1 / 1PASSPASS
2d.path.rect.zero.6.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.1.radius.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.1.radius.dompoint.single.argument.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.1.radius.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.1.radius.dompointinit.single.argument.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.1.radius.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.1.radius.double.single.argument.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.2.radii.1.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.2.radii.1.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.2.radii.1.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.2.radii.2.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.2.radii.2.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.2.radii.2.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.1.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.1.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.1.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.2.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.2.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.2.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.3.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.3.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.3.radii.3.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.1.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.1.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.1.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.2.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.2.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.2.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.3.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.3.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.3.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.4.dompoint.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.4.dompointinit.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.4.radii.4.double.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.badinput.html▶0.0% 0 / 1FAILFAIL
2d.path.roundrect.closed.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.end.1.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.end.2.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.end.3.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.end.4.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.negative.html▶0.0% 0 / 1FAILFAIL
2d.path.roundrect.newsubpath.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.nonfinite.html▶0.0% 0 / 1FAILFAIL
2d.path.roundrect.radius.intersecting.1.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.radius.intersecting.2.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.radius.negative.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.radius.noargument.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.radius.none.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.radius.toomany.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.selfintersect.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.winding.html▶0.0% 0 / 1FAILFAIL
2d.path.roundrect.zero.1.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.zero.2.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.zero.3.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.zero.4.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.zero.5.html▶100.0% 1 / 1PASSPASS
2d.path.roundrect.zero.6.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.empty.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.overlap.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.prune.arc.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.prune.closed.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.prune.corner.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.prune.curve.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.prune.line.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.prune.rect.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.scale1.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.scale2.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.skew.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.unaffected.html▶100.0% 1 / 1PASSPASS
2d.path.stroke.union.html▶100.0% 1 / 1PASSPASS
2d.path.transformation.basic.html▶100.0% 1 / 1PASSPASS
2d.path.transformation.changing.html▶100.0% 1 / 1PASSPASS
2d.path.transformation.multiple.html▶100.0% 1 / 1PASSPASS