Test Path2D as argument for fill. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". Simple test of Path2D as argumeny for fill(). PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true Transform context and apply fill(). Context path should be ignored. PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:0,b:0,a:0}) is true Path2D should not affect context path. PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:0,b:0,a:0}) is true PASS areaColor(imageData.data, {r:0,g:0,b:0,a:0}) is true PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true Test WindingRule for Path2D. PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:255,b:0,a:255}) is true PASS areaColor(imageData.data, {r:0,g:0,b:0,a:0}) is true PASS ctx.fill(0) threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill(null) threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill('path2d') threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill(undefined) did not throw exception. PASS ctx.fill(Number.MAX_VALUE) threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill(function() {}) threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill(false) threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill(new Date()) threw exception TypeError: Argument 1 ('fillRule') to CanvasRenderingContext2D.fill must be one of: "nonzero", "evenodd". PASS ctx.fill(0, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. PASS ctx.fill(null, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. PASS ctx.fill('path2d', 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. FAIL ctx.fill(undefined) should throw an exception. Was undefined. PASS ctx.fill(Number.MAX_VALUE, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. PASS ctx.fill(function() {}, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. PASS ctx.fill(false, 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. PASS ctx.fill(new Date(), 'nonzero') threw exception TypeError: Argument 1 ('path') to CanvasRenderingContext2D.fill must be an instance of Path2D. PASS successfullyParsed is true TEST COMPLETE