Series of tests to ensure correct results of isPointInStroke with Path2D argument. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". PASS ctx.isPointInStroke(path,20,20) is true PASS ctx.isPointInStroke(path,120,20) is true PASS ctx.isPointInStroke(path,20,120) is true PASS ctx.isPointInStroke(path,120,120) is true PASS ctx.isPointInStroke(path,70,20) is true PASS ctx.isPointInStroke(path,20,70) is true PASS ctx.isPointInStroke(path,120,70) is true PASS ctx.isPointInStroke(path,70,120) is true PASS ctx.isPointInStroke(path,22,22) is false PASS ctx.isPointInStroke(path,118,22) is false PASS ctx.isPointInStroke(path,22,118) is false PASS ctx.isPointInStroke(path,118,118) is false PASS ctx.isPointInStroke(path,70,18) is false PASS ctx.isPointInStroke(path,122,70) is false PASS ctx.isPointInStroke(path,70,122) is false PASS ctx.isPointInStroke(path,18,70) is false PASS ctx.isPointInStroke(path,NaN,122) is false PASS ctx.isPointInStroke(path,18,NaN) is false PASS ctx.isPointInStroke(null,70,20) threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInStroke must be an instance of Path2D. PASS ctx.isPointInStroke([],20,70) threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInStroke must be an instance of Path2D. PASS ctx.isPointInStroke({},120,70) threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInStroke must be an instance of Path2D. PASS ctx.isPointInPath('path2d', 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd". PASS ctx.isPointInPath(undefined, 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd". PASS ctx.isPointInPath(Number.MAX_VALUE, 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd". PASS ctx.isPointInPath(function() {}, 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd". PASS ctx.isPointInPath(false, 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd". PASS ctx.isPointInPath(new Date(), 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd". PASS ctx.isPointInStroke(path,22,22) is true PASS ctx.isPointInStroke(path,118,22) is true PASS ctx.isPointInStroke(path,22,118) is true PASS ctx.isPointInStroke(path,118,118) is true PASS ctx.isPointInStroke(path,70,18) is true PASS ctx.isPointInStroke(path,122,70) is true PASS ctx.isPointInStroke(path,70,122) is true PASS ctx.isPointInStroke(path,18,70) is true PASS ctx.isPointInStroke(path,26,70) is false PASS ctx.isPointInStroke(path,70,26) is false PASS ctx.isPointInStroke(path,70,114) is false PASS ctx.isPointInStroke(path,114,70) is false PASS ctx.isPointInStroke(path,113,20) is false PASS ctx.isPointInStroke(path,113,20) is true PASS ctx.isPointInStroke(path,113,20) is false PASS ctx.isPointInStroke(path,112,10) is false PASS ctx.isPointInStroke(path,112,10) is true PASS ctx.isPointInStroke(path,117,10) is false PASS ctx.isPointInStroke(path,112,10) is true PASS ctx.isPointInStroke(path,117,10) is false PASS ctx.isPointInStroke(path,15,10) is true PASS ctx.isPointInStroke(path,25,10) is false PASS ctx.isPointInStroke(path,35,10) is true PASS ctx.isPointInStroke(path,15,10) is false PASS ctx.isPointInStroke(path,25,10) is true PASS ctx.isPointInStroke(path,35,10) is false PASS successfullyParsed is true TEST COMPLETE