Series of tests to ensure correct results of isPointInPath with Path2D argument.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


PASS ctx.isPointInPath(path, 50, 50) is true
PASS ctx.isPointInPath(path, NaN, 50) is false
PASS ctx.isPointInPath(path, 50, NaN) is false
PASS ctx.isPointInPath(path, 50, 50, 'nonzero') is true
PASS ctx.isPointInPath(path, 50, 50, 'evenodd') is false
PASS ctx.isPointInPath(path, 50, 50, 'nonzero') is false
PASS ctx.isPointInPath(null, 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd".
PASS ctx.isPointInPath(null, 50, 50, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath(null, 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath([], 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd".
PASS ctx.isPointInPath([], 50, 50, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath([], 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath({}, 50, 50) threw exception TypeError: Argument 3 ('fillRule') to CanvasRenderingContext2D.isPointInPath must be one of: "nonzero", "evenodd".
PASS ctx.isPointInPath({}, 50, 50, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath({}, 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath('path2d', 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath(undefined, 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath(Number.MAX_VALUE, 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath(function() {}, 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath(false, 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS ctx.isPointInPath(new Date(), 50, 50, 'evenodd') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.isPointInPath must be an instance of Path2D.
PASS successfullyParsed is true

TEST COMPLETE
 
