Test Firefox 3 beta (2008011704; Linux) Opera 9.5 beta (1766; Linux) Safari 3.0.4 (WebKit r29673; Windows) Konqueror 4.00.00 (KHTML r763592; Linux)
# fallback.basic
  • Passed
  • Failed assertion canvas.childNodes.length == 1 (got 0[number], expected 1[number])
  • Passed
  • Passed
# fallback.multiple
  • Passed
  • Failed assertion canvas.childNodes.length == 2 (got 0[number], expected 2[number])
  • Passed
  • Passed
# fallback.nested
  • Passed
  • Failed assertion canvas.childNodes.length == 2 (got 0[number], expected 2[number])
  • Passed
  • Passed
# type.name
  • Passed
  • Passed
  • Passed
  • Passed
# type.exists
  • Passed
  • Passed
  • Passed
  • Passed
# type.delete
  • Passed
  • Failed assertion: window.HTMLCanvasElement
  • Passed
  • Passed
# type.prototype
  • Failed assertion window.HTMLCanvasElement.prototype.getContext === undefined (got function getContext() { [native code] }[function], expected [undefined])
  • Passed
  • Failed assertion: window.HTMLCanvasElement.prototype
  • Failed assertion: window.HTMLCanvasElement.prototype
  • Aborted with exception: Undefined value
  • Failed assertion window.HTMLCanvasElement.prototype.getContext === undefined (got 1[number], expected [undefined])
# type.replace
  • Passed
  • Passed
  • Passed
  • Passed
# type.extend
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.type.get
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.type.set
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.default
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.reflect.1
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.reflect.2
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.removed
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.whitespace
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.nonnumber
  • Passed
  • Failed assertion canvas.width == 300 (got 0[number], expected 300[number])
  • Passed
  • Passed
# size.attributes.parse.zero
  • Passed
  • Passed
  • Passed
  • Failed assertion canvas.width == 0 (got 300[number], expected 0[number])
# size.attributes.parse.negative
  • Failed assertion canvas.width == 300 (got 0[number], expected 300[number])
  • Failed assertion canvas.width == 300 (got -100[number], expected 300[number])
  • Failed assertion canvas.width == 300 (got -100[number], expected 300[number])
  • Passed
# size.attributes.parse.zerosuffix
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.floatsuffix
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.badsuffix
  • Failed assertion canvas.width == 100 (got 300[number], expected 100[number])
  • Passed
  • Passed
  • Passed
# size.attributes.parse.percentsuffix
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.whitespace
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.nonnumber
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.zero
  • Passed
  • Failed assertion canvas.width == 0 (got 300[number], expected 0[number])
  • Passed
  • Failed assertion canvas.width == 0 (got 300[number], expected 0[number])
# size.attributes.setAttribute.negative
  • Failed assertion canvas.width == 300 (got 0[number], expected 300[number])
  • Passed
  • Failed assertion canvas.width == 300 (got -100[number], expected 300[number])
  • Passed
# size.attributes.setAttribute.zerosuffix
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.floatsuffix
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.badsuffix
  • Failed assertion canvas.width == 100 (got 300[number], expected 100[number])
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.percentsuffix
  • Passed
  • Failed assertion canvas.width == 100 (got 300[number], expected 100[number])
  • Passed
  • Passed
# size.attributes.style
  • Passed
  • Passed
  • Passed
  • Passed
# initial.colour
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.different
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.same
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.security
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.path
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.clip
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.transform
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.gradient
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# initial.reset.pattern
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# context.empty
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Passed
  • Passed
# context.unrecognised.badname
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Passed
  • Passed
# context.unrecognised.badsuffix
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Passed
  • Passed
# context.unrecognised.nullsuffix
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Failed assertion canvas.getContext("2d\0") === null (got [object CanvasRenderingContext2D][object], expected [object])
  • Passed
  • Passed
# context.unrecognised.unicode
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Passed
  • Passed
# context.casesensitive
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Passed
  • Passed
# toDataURL.default
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.png
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.unrecognised
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.lowercase
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.arguments.1
  • Aborted with exception: Security error
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.arguments.2
  • Aborted with exception: Security error
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.arguments.3
  • Aborted with exception: Security error
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.nocontext
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas2.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas2.toDataURL) is not object.
# toDataURL.primarycolours
  • Cannot automatically verify result
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.complexcolours
  • Cannot automatically verify result
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# toDataURL.security.domain
  • Passed
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR
# toDataURL.security.pattern
  • Passed
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR
# toDataURL.security.propagate
  • Passed
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR
# toDataURL.security.propagate2
  • Passed
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR
# toDataURL.security.subdomain
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
# toDataURL.security.superdomain
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
# toDataURL.security.dataURI
  • Aborted with exception: Security error
  • Passed
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
  • Aborted with exception: Value undefined (result of expression canvas.toDataURL) is not object.
# 2d.getcontext.exists
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.type.name
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.type.exists
  • Passed
  • Passed
  • Failed assertion: window.CanvasRenderingContext2D
  • Passed
# 2d.type.delete
  • Passed
  • Failed assertion window.CanvasRenderingContext2D !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasRenderingContext2D !== undefined (got [undefined], expected not [undefined])
  • Passed
# 2d.type.prototype
  • Failed assertion window.CanvasRenderingContext2D.prototype.fill === undefined (got function fill() { [native code] }[function], expected [undefined])
  • Passed
  • Aborted with exception: Undefined value
  • Failed assertion window.CanvasRenderingContext2D.prototype.fill === undefined (got 1[number], expected [undefined])
# 2d.type.replace
  • Passed
  • Passed
  • Aborted with exception: Undefined value
  • Cannot automatically verify result
# 2d.type.extend
  • Passed
  • Passed
  • Aborted with exception: Undefined value
  • Cannot automatically verify result
# 2d.getcontext.unique
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.getcontext.shared
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.voidreturn
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.coordinatespace
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.canvas.reference
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.canvas.readonly
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.strokeStyle
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.fillStyle
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.globalAlpha
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.lineWidth
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.lineCap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.lineJoin
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.miterLimit
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.shadowOffsetX
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.shadowOffsetY
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.shadowBlur
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.shadowColor
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.globalCompositeOperation
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.2dstate
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.transformation
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.state.saverestore.clip
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.state.saverestore.path
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.state.saverestore.bitmap
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.state.saverestore.stack
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.stackdepth
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.underflow
  • Aborted with exception: An attempt was made to use an object that is not, or is no longer, usable
  • Passed
  • Passed
  • Passed
# 2d.transformation.order
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.zero
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.negative
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.large
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.infinity
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.neginfinity
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.scale.nan
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale(NaN, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale(1, NaN)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale(NaN, NaN)
  • Passed
# 2d.transformation.scale.multiple
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.rotate.zero
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.rotate.radians
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.rotate.direction
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.rotate.wrap
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.rotate.wrapnegative
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.rotate.infinity
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(Infinity)
  • Passed
# 2d.transformation.rotate.neginfinity
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(-Infinity)
  • Passed
# 2d.transformation.rotate.nan
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(NaN)
  • Passed
# 2d.transformation.translate.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.translate.infinity
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.transformation.translate.nan
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.translate(NaN, 0)
  • Passed
# 2d.transformation.transform.identity
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.transform) is not object.
  • Cannot automatically verify result
# 2d.transformation.transform.skewed
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.transform) is not object.
  • Cannot automatically verify result
# 2d.transformation.transform.multiply
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.transform) is not object.
  • Cannot automatically verify result
# 2d.transformation.transform.infinity
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Aborted with exception: Value undefined (result of expression ctx.transform) is not object.
  • Cannot automatically verify result
# 2d.transformation.setTransform.skewed
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.setTransform) is not object.
  • Cannot automatically verify result
# 2d.transformation.setTransform.multiple
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.setTransform) is not object.
  • Cannot automatically verify result
# 2d.composite.globalAlpha.range
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.invalid
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = -Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = NaN
  • Passed
# 2d.composite.globalAlpha.default
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.fill
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.globalAlpha.image
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.globalAlpha.canvas
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.globalAlpha.imagepattern
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [2,253,0,255] +/- 2
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.globalAlpha.canvaspattern
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [2,253,0,255] +/- 2
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.source-over
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.destination-over
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.source-in
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.destination-in
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.source-out
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.destination-out
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.source-atop
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.destination-atop
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.xor
  • Failed assertion: got pixel [255,255,255,1] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.copy
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.solid.lighter
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.source-over
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.destination-over
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.source-in
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.destination-in
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.source-out
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.destination-out
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.source-atop
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.destination-atop
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.xor
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.copy
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.transparent.lighter
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.source-over
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.destination-over
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.source-in
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.destination-in
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.source-out
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.destination-out
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.source-atop
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.destination-atop
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.xor
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.copy
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.image.lighter
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.fill.source-in
  • Failed assertion: got pixel [0,255,0,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.fill.destination-in
  • Failed assertion: got pixel [0,255,0,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.fill.source-out
  • Failed assertion: got pixel [0,255,0,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.fill.destination-atop
  • Failed assertion: got pixel [0,255,0,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.fill.copy
  • Failed assertion: got pixel [0,255,0,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.image.source-in
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.image.destination-in
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.image.source-out
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.image.destination-atop
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.image.copy
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.pattern.source-in
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.pattern.destination-in
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.pattern.source-out
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.pattern.destination-atop
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.uncovered.pattern.copy
  • Failed assertion: got pixel [0,255,255,128] at (50,25), expected [0,0,0,0] +/- 5
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.composite.operation.get
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.operation.unrecognised
  • Aborted with exception: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMCanvasRenderingContext2D.globalCompositeOperation]
  • Passed
  • Passed
  • Passed
# 2d.composite.operation.darker
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got darker[string], expected xor[string])
  • Passed
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got darker[string], expected xor[string])
  • Passed
# 2d.composite.operation.over
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got source-over[string], expected xor[string])
  • Passed
  • Passed
  • Passed
# 2d.composite.operation.clear
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got clear[string], expected xor[string])
  • Passed
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got clear[string], expected xor[string])
  • Passed
# 2d.composite.operation.highlight
  • Aborted with exception: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMCanvasRenderingContext2D.globalCompositeOperation]
  • Passed
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got highlight[string], expected xor[string])
  • Passed
# 2d.composite.operation.nullsuffix
  • Aborted with exception: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMCanvasRenderingContext2D.globalCompositeOperation]
  • Failed assertion ctx.globalCompositeOperation == 'xor' (got source-over[string], expected xor[string])
  • Passed
  • Passed
# 2d.composite.operation.casesensitive
  • Aborted with exception: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMCanvasRenderingContext2D.globalCompositeOperation]
  • Passed
  • Passed
  • Passed
# 2d.composite.operation.default
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.html4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hex3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hex6
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgb-num
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgb-clamp-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgb-clamp-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgb-percent
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-solid-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-solid-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-num-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-num-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-percent
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-clamp-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.rgba-clamp-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.transparent-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.transparent-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsl-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsl-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsl-3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsl-4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsl-5
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsla-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.hsla-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.svg-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.svg-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.current
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hex3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hex6
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-5
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-6
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgb-7
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgba-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgba-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgba-3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgba-4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.rgba-5
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsl-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsl-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsl-3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsl-4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsl-5
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsla-1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.invalid.hsla-2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.parse.system
  • Passed
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #ff0000[string])
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got ThreeDDarkShadow[string])
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #ff0000[string])
# 2d.fillStyle.parse.flavor
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #ff0000[string])
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #ff0000[string])
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got flavor[string])
  • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #ff0000[string])
# 2d.fillStyle.invalidstring
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.invalidtype
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillStyle.get.solid
  • Passed
  • Passed
  • Failed assertion ctx.fillStyle === '#ffaa00' (got #fa0[string], expected #ffaa00[string])
  • Passed
# 2d.fillStyle.get.semitransparent
  • Passed
  • Passed
  • Failed assertion ctx.fillStyle matches /^rgba\(255, 255, 255, 0\.4\d+\)$/ (got rgba(255,255,255,0.45)[string])
  • Passed
# 2d.fillStyle.get.transparent
  • Passed
  • Passed
  • Failed assertion ctx.fillStyle == 'rgba(0, 0, 0, 0.0)' (got rgba(0,0,0,0)[string], expected rgba(0, 0, 0, 0.0)[string])
  • Failed assertion ctx.fillStyle == 'rgba(0, 0, 0, 0.0)' (got rgba(0, 0, 0, 0.000000)[string], expected rgba(0, 0, 0, 0.0)[string])
# 2d.fillStyle.default
  • Passed
  • Passed
  • Failed assertion ctx.fillStyle == '#000000' (got black[string], expected #000000[string])
  • Passed
# 2d.strokeStyle.default
  • Passed
  • Passed
  • Failed assertion ctx.strokeStyle == '#000000' (got black[string], expected #000000[string])
  • Passed
# 2d.gradient.object.return
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.solid
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.colour
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.alpha
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.colouralpha
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.outside
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.zerosize
  • Failed assertion: got pixel [255,0,0,255] at (40,20), expected [0,255,0,255] +/- 2
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.vertical
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.multiple
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.overlap
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.interpolate.overlap2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.empty
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.object.update
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.object.compare
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.object.crosscanvas
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.object.invalidoffset
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: g.addColorStop(-1, '#000')
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: g.addColorStop(2, '#000')
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: g.addColorStop(Infinity, '#000')
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: g.addColorStop(-Infinity, '#000')
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: g.addColorStop(NaN, '#000')
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: g.addColorStop(NaN, '#000')
# 2d.gradient.object.invalidcolour
  • Passed
  • Passed
  • Failed assertion: should throw exception of type SYNTAX_ERR: g.addColorStop(0, "")
  • Failed assertion: should throw exception of type SYNTAX_ERR: g.addColorStop(0, 'undefined')
  • Passed
# 2d.gradient.radial.negative
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1)
  • Passed
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 0, -0.1, 0, 0, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1)
  • Passed
# 2d.gradient.radial.invalid
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, NaN, 0, 0, 1)
  • Passed
# 2d.gradient.radial.inside1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.inside2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.inside3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.outside1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.outside2
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.outside3
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.touch1
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.touch2
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.touch3
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.equal
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.behind
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.front
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.bottom
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.top
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.beside
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.cylinder
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.shape1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.gradient.radial.cone.shape2
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.basic.type
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.basic.image
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.basic.canvas
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.basic.zerocanvas
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Failed assertion canvas2.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas2.height === 0 (got 150[number], expected 0[number])
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Failed assertion canvas2.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas2.height === 0 (got 150[number], expected 0[number])
# 2d.pattern.basic.nocontext
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.image.undefined
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.createPattern]
  • Passed
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Passed
# 2d.pattern.image.null
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.createPattern]
  • Passed
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Passed
# 2d.pattern.image.string
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Could not convert JavaScript argument arg 0 [nsIDOMCanvasRenderingContext2D.createPattern]
  • Passed
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Passed
# 2d.pattern.image.incomplete
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: expected exception of type INVALID_STATE_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.createPattern]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: expected exception of type INVALID_STATE_ERR, got: TYPE_MISMATCH_ERR
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(img, 'repeat')
  • Passed
# 2d.pattern.image.broken
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: expected exception of type INVALID_STATE_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.createPattern]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(img, 'repeat')
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(img, 'repeat')
  • Passed
# 2d.pattern.repeat.empty
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.repeat.null
  • Passed
  • Passed
  • Aborted with exception: SYNTAX_ERR: DOM Exception 12
  • Aborted with exception: SYNTAX_ERR
# 2d.pattern.repeat.undefined
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.repeat.missing
  • Failed assertion: expected exception of type SYNTAX_ERR, got: Not enough arguments [nsIDOMCanvasRenderingContext2D.createPattern]
  • Failed assertion: expected exception of type SYNTAX_ERR, got: WRONG_ARGUMENTS_ERR
  • Passed
  • Failed assertion: expected exception of type SYNTAX_ERR, got: NOT_SUPPORTED_ERR
# 2d.pattern.repeat.unrecognised
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.repeat.case
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.repeat.nullsuffix
  • Passed
  • Failed assertion: should throw exception of type SYNTAX_ERR: ctx.createPattern(canvas, "repeat\0")
  • Passed
  • Passed
# 2d.pattern.modify.image1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.modify.image2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.modify.canvas1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.modify.canvas2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.crosscanvas
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.norepeat.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.norepeat.outside
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.norepeat.coord1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.norepeat.coord2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.coord3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.repeat.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.repeat.outside
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.repeat.coord1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.repeat.coord2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.repeat.coord3
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.repeatx.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.repeatx.outside
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.repeatx.coord1
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.repeaty.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.repeaty.outside
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.pattern.paint.repeaty.coord1
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Aborted with exception: INVALID_STATE_ERR
# 2d.line.defaults
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.invalid.lineWidth
  • Failed assertion ctx.lineWidth === 1.5 (got 0[number], expected 1.5[number])
  • Failed assertion ctx.lineWidth === 1.5 (got 0[number], expected 1.5[number])
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = Infinity
  • Failed assertion ctx.lineWidth === 1.5 (got Infinity[number], expected 1.5[number])
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = -Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = NaN
  • Passed
# 2d.line.invalid.lineCap
  • Aborted with exception: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMCanvasRenderingContext2D.lineCap]
  • Failed assertion ctx.lineCap === 'butt' (got round[string], expected butt[string])
  • Passed
  • Passed
# 2d.line.invalid.lineJoin
  • Aborted with exception: Component returned failure code: 0x80004001 (NS_ERROR_NOT_IMPLEMENTED) [nsIDOMCanvasRenderingContext2D.lineJoin]
  • Failed assertion ctx.lineJoin === 'bevel' (got round[string], expected bevel[string])
  • Passed
  • Passed
# 2d.line.invalid.miterLimit
  • Failed assertion ctx.miterLimit === 1.5 (got 0[number], expected 1.5[number])
  • Failed assertion ctx.miterLimit === 1.5 (got -1[number], expected 1.5[number])
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = Infinity
  • Failed assertion ctx.miterLimit === 1.5 (got Infinity[number], expected 1.5[number])
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = -Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = NaN
  • Passed
# 2d.line.lineWidth.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineWidth.transformed
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineCap.butt
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineCap.round
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineCap.square
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineJoin.bevel
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineJoin.round
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.lineJoin.miter
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.join.open
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.join.closed
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.join.zeroline.corner
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.join.zeroline.join
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.join.parallel
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.cap.open
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.cap.closed
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.cap.zeroline.round
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.cap.zeroline.square
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.cap.zerobezier.round
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.miter.exceeded
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.miter.rightangle
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.miter.lineedge
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.miter.within
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.cross
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.line.union
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [78,176,0,255] at (25,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [78,176,0,255] at (25,1), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.negative
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.clearRect(0, 0, -1, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.clearRect(0, 0, 1, -1)
  • Passed
  • Passed
  • Passed
# 2d.clearRect.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.path
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.zero
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.transform
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.globalalpha
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.globalcomposite
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.clip
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.clearRect.shadow
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillRect.negative
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.fillRect(0, 0, -1, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.fillRect(0, 0, 1, -1)
  • Passed
  • Passed
  • Passed
# 2d.fillRect.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillRect.path
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillRect.zero
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillRect.transform
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillRect.clip
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.fillRect.shadow
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.negative
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.strokeRect(0, 0, -1, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.strokeRect(0, 0, 1, -1)
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.path
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.zero.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.zero.2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.zero.3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.zero.4
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.zero.5
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.transform
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.globalalpha
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.globalcomposite
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.clip
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.strokeRect.shadow
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.initial
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.beginPath
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.moveTo.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.moveTo.newsubpath
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.moveTo.multiple
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.closePath.empty
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.closePath.newline
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.closePath.nextpoint
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.lineTo.emptysubpath
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.lineTo.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.lineTo.nextpoint
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.quadraticCurveTo.emptysubpath
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.quadraticCurveTo.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.quadraticCurveTo.shape
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.quadraticCurveTo.scaled
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (98,1), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.bezierCurveTo.emptysubpath
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.bezierCurveTo.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.bezierCurveTo.shape
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.bezierCurveTo.scaled
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (98,1), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.emptysubpath
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.coincide.1
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.coincide.2
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.collinear.1
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.collinear.2
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.collinear.3
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.shape.curve1
  • Failed assertion: got pixel [5,250,0,255] at (80,44), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (80,45), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (80,46), expected [0,255,0,255]
  • Failed assertion: got pixel [14,240,0,255] at (73,27), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.shape.curve2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [250,5,0,255] at (55,21), expected [0,255,0,255]
  • Failed assertion: got pixel [17,238,0,255] at (64,22), expected [0,255,0,255]
  • Failed assertion: got pixel [105,150,0,255] at (72,28), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [242,12,0,255] at (55,21), expected [0,255,0,255]
  • Failed assertion: got pixel [15,239,0,255] at (64,22), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.shape.start
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.shape.end
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.negative
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arcTo.zero
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.empty
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.nonempty
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.end
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.angle.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.angle.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.angle.3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.angle.4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.zero.1
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,20), expected [0,0,0,0]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.zero.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.zero.3
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,20), expected [0,0,0,0]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.zero.4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.zero.5
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.zero.6
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.shape.1
  • Passed
  • Failed assertion: got pixel [255,0,0,9] at (20,48), expected [0,0,0,0]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.shape.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.shape.3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.shape.4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.shape.5
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.selfintersect.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.selfintersect.2
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (97,1), expected [0,255,0,255]
  • Failed assertion: got pixel [0,255,0,56] at (97,2), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (2,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arc.negative
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.arc(0, 0, -1, 0, 0, true)
  • Passed
  • Passed
  • Passed
# 2d.path.arc.zero
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.arc(0, 0, 0, 0, 0, true)
  • Passed
  • Passed
  • Passed
# 2d.path.arc.scale
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.newsubpath
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.closed
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.end.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.end.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.zero.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.zero.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.zero.3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.zero.4
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.zero.5
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.zero.6
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.rect.negative
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.rect(0, 0, -1, 10)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.rect(0, 0, 10, -1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.rect(0, 0, -1, -1)
  • Passed
  • Passed
  • Passed
# 2d.path.rect.selfintersect
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.fill.winding.add
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.fill.winding.subtract.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.fill.winding.subtract.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.fill.winding.subtract.3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.fill.closed.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.fill.closed.unaffected
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.stroke.union
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.stroke.unaffected
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.stroke.scale1
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (0,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,49), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.stroke.scale2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (0,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,49), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.stroke.skew
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (0,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,49), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.transformation
  • Passed
  • Failed assertion: got pixel [216,38,0,255] at (0,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,49), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.arcTo.scale
  • Passed
  • Failed assertion: got pixel [195,59,0,255] at (0,0), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (0,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (99,49), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.transformation.basic
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.transformation.multiple
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.transformation.changing
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.empty
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.basic.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.basic.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.intersect
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.winding.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.winding.2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.clip.unaffected
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.path.isPointInPath.basic.1
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Passed
# 2d.path.isPointInPath.basic.2
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Passed
# 2d.path.isPointInPath.empty
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Passed
# 2d.path.isPointInPath.unclosed
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Passed
# 2d.path.isPointInPath.winding
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Passed
# 2d.path.isPointInPath.transform.1
  • Failed assertion ctx.isPointInPath(10, 10) === false (got true[boolean], expected false[boolean])
  • Failed assertion ctx.isPointInPath(51, 10) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(69, 10) === true (got false[boolean], expected true[boolean])
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Failed assertion ctx.isPointInPath(51, 10) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(69, 10) === true (got false[boolean], expected true[boolean])
# 2d.path.isPointInPath.transform.2
  • Failed assertion ctx.isPointInPath(-40, 10) === false (got true[boolean], expected false[boolean])
  • Failed assertion ctx.isPointInPath(51, 10) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(69, 10) === true (got false[boolean], expected true[boolean])
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Passed
# 2d.path.isPointInPath.transform.3
  • Failed assertion ctx.isPointInPath(51, 10) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(69, 10) === true (got false[boolean], expected true[boolean])
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.isPointInPath) is not object.
  • Failed assertion ctx.isPointInPath(51, 10) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(69, 10) === true (got false[boolean], expected true[boolean])
# 2d.drawImage.3arg
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.5arg
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.9arg.basic
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.9arg.sourcepos
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.9arg.sourcesize
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.9arg.destpos
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.9arg.destsize
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.canvas
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.self.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.self.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.null
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Passed
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Passed
# 2d.drawImage.wrongtype
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Passed
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Type error
  • Passed
# 2d.drawImage.floatsource
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.zerosource
  • Failed assertion: got pixel [255,0,0,255] at (15,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (85,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (15,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (85,25), expected [0,255,0,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.negativesource
  • Passed
  • Passed
  • Passed
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, -1, 1, 0, 0, 100, 50)
# 2d.drawImage.negativedest
  • Passed
  • Passed
  • Passed
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 1, 1, 0, 50, -100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 1, 1, 0, 50, 100, -50)
# 2d.drawImage.outsidesource
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 50, 0, 50.001, 50, 0, 0, 100, 50)
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Passed
  • Cannot automatically verify result
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), -0.001, 0, 100, 50, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 0, -0.001, 100, 50, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 0, 0, 100.001, 50, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 0, 0, 100, 50.001, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 50, 0, 50.001, 50, 0, 0, 100, 50)
# 2d.drawImage.incomplete
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: expected exception of type INVALID_STATE_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: expected exception of type INVALID_STATE_ERR, got: TYPE_MISMATCH_ERR
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(img, 0, 0)
  • Passed
# 2d.drawImage.broken
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: expected exception of type INVALID_STATE_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(img, 0, 0)
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(img, 0, 0)
  • Passed
# 2d.drawImage.path
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.transform
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.alpha
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.clip
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.composite
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.drawImage.nowrap
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.imageData.get.basic
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Passed
# 2d.imageData.get.sourcepos
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.values
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.sourcesize
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.properties
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.dataarray
  • Passed
  • Aborted with exception: Statement on line 5: Type mismatch (usually non-object value supplied where object required)Backtrace: Line 5 of inline#1 script in http://localhost/html/canvastests/tests/minimal.2d.imageData.get.dataarray.html var data = imgdata.data.join(';'); Line 243 of linked script http://localhost/html/canvastests/tests.js test(canvas, ctx); ...
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.outside.1
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.outside.2
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.nonpremul
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.order.cols
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.order.rows
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.order.rgb
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.order.alpha
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.smallest
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.get.nonpositive
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(10, 10, 1, 0)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(10, 10, 0, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(10, 10, 0, 0)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(10, 10, 1, -1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(10, 10, -1, 1)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(10, 10, -1, -1)
# 2d.imageData.get.nonfinite
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, 10, 1, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, Infinity, 1, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, Infinity, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, 1, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(-Infinity, 10, 1, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, -Infinity, 1, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, -Infinity, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, 1, -Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(NaN, 10, 1, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, NaN, 1, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, NaN, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, 1, NaN)
# 2d.imageData.put.basic
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Cannot automatically verify result
# 2d.imageData.put.alpha
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Cannot automatically verify result
# 2d.imageData.put.modified
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.put.outside
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Cannot automatically verify result
# 2d.imageData.put.type.correct
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.put.type.onepixel
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.putImageData) is not object.
  • Passed
# 2d.imageData.put.type.extra
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.put.type.missing
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
# 2d.imageData.put.type.invalidsize
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1, data: [0,0,0,0,0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: NaN, height: imgdata1.height, data: imgdata1.data }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: imgdata1.width, height: NaN, data: imgdata1.data }, 0, 0)
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Undefined value
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1, data: [] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1, data: ["0"] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1, data: [0,0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1, data: [0,0,0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1, data: [0,0,0,0,0] }, 0, 0)
# 2d.imageData.put.type.zerosize
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: An invalid or illegal string was specified
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 0.1, height: 1, data: [] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 0.1, data: [] }, 0, 0)
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 0, height: 1, data: [] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 0, data: [] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 0.1, height: 1, data: [] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 0.1, data: [] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 0, height: 0, data: [] }, 0, 0)
# 2d.imageData.put.type.noninteger
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1.1, height: 1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1.1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1.1, height: 1.1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1.1, height: 1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1.1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1.1, height: 1.1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Value undefined (result of expression ctx.putImageData) is not object.
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1.1, height: 1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1, height: 1.1, data: [0, 0, 0, 0] }, 0, 0)
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData({ width: 1.1, height: 1.1, data: [0, 0, 0, 0] }, 0, 0)
# 2d.imageData.put.clamp
  • Failed assertion: got pixel [255,0,1,255] at (0,0), expected [0,0,1,255]
  • Failed assertion: got pixel [254,255,0,255] at (1,0), expected [254,255,255,255]
  • Failed assertion: got pixel [0,0,0,255] at (2,0), expected [0,0,0,0]
  • Failed assertion: got pixel [0,0,0,0] at (7,0), expected [0,0,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (0,1), expected [0,0,0,255]
  • Failed assertion: got pixel [0,0,0,255] at (2,1), expected [255,255,255,255]
  • Failed assertion: got pixel [0,0,0,0] at (0,1), expected [0,0,0,255]
  • Failed assertion: got pixel [0,0,0,255] at (2,1), expected [255,255,255,255]
  • Aborted with exception: Value undefined (result of expression ctx.putImageData) is not object.
  • Cannot automatically verify result
# 2d.imageData.put.round
  • Failed assertion: got pixel [0,0,1,255] at (0,0), expected [0,1,1,255]
  • Failed assertion: got pixel [1,1,2,255] at (1,0), expected [1,2,2,255]
  • Failed assertion: got pixel [0,1,2,255] at (2,0), expected [0,2,2,255]
  • Failed assertion: got pixel [252,253,254,255] at (3,0), expected [252,254,254,255]
  • Failed assertion: got pixel [0,0,0,253] at (1,1), expected [0,0,0,254]
  • Failed assertion: got pixel [0,0,0,251] at (3,1), expected [0,0,0,252]
  • Failed assertion: got pixel [0,0,1,255] at (0,0), expected [0,1,1,255]
  • Failed assertion: got pixel [1,1,2,255] at (1,0), expected [1,2,2,255]
  • Failed assertion: got pixel [0,1,2,255] at (2,0), expected [0,2,2,255]
  • Failed assertion: got pixel [252,253,254,255] at (3,0), expected [252,254,254,255]
  • Failed assertion: got pixel [0,0,0,253] at (1,1), expected [0,0,0,254]
  • Failed assertion: got pixel [0,0,0,251] at (3,1), expected [0,0,0,252]
  • Aborted with exception: Value undefined (result of expression ctx.putImageData) is not object.
  • Cannot automatically verify result
# 2d.imageData.put.unchanged
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Aborted with exception: Undefined value
# 2d.imageData.put.unaffected
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Cannot automatically verify result
# 2d.imageData.put.path
  • Passed
  • Passed
  • Aborted with exception: Value undefined (result of expression ctx.getImageData) is not object.
  • Cannot automatically verify result
# 2d.shadow.attributes.shadowBlur.1
  • Failed assertion ctx.shadowBlur === 1 (got 0[number], expected 1[number])
  • Failed assertion ctx.shadowBlur === 0.5 (got 0[number], expected 0.5[number])
  • Failed assertion ctx.shadowBlur === 1e6 (got 0[number], expected 1000000[number])
  • Failed assertion ctx.shadowBlur === 1 (got 0[number], expected 1[number])
  • Passed
  • Failed assertion ctx.shadowBlur === 1 (got -2[number], expected 1[number])
  • Passed
# 2d.shadow.attributes.shadowBlur.2
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowBlur = Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowBlur = -Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowBlur = NaN
  • Passed
# 2d.shadow.attributes.shadowOffset.1
  • Failed assertion ctx.shadowOffsetX === 1 (got 0[number], expected 1[number])
  • Failed assertion ctx.shadowOffsetY === 2 (got 0[number], expected 2[number])
  • Failed assertion ctx.shadowOffsetX === 0.5 (got 0[number], expected 0.5[number])
  • Failed assertion ctx.shadowOffsetY === 0.25 (got 0[number], expected 0.25[number])
  • Failed assertion ctx.shadowOffsetX === -0.5 (got 0[number], expected -0.5[number])
  • Failed assertion ctx.shadowOffsetY === -0.25 (got 0[number], expected -0.25[number])
  • Failed assertion ctx.shadowOffsetX === 1e6 (got 0[number], expected 1000000[number])
  • Failed assertion ctx.shadowOffsetY === 1e6 (got 0[number], expected 1000000[number])
  • Passed
  • Passed
  • Passed
# 2d.shadow.attributes.shadowOffset.2
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Passed
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowOffsetX = Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowOffsetX = -Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowOffsetX = NaN
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowOffsetY = Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowOffsetY = -Infinity
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.shadowOffsetY = NaN
  • Passed
# 2d.shadow.attributes.shadowColor.1
  • Failed assertion ctx.shadowColor === '#00ff00' (got [object], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === 'rgba(0, 255, 0, 0.0)' (got [object], expected rgba(0, 255, 0, 0.0)[string])
  • Passed
  • Failed assertion ctx.shadowColor === '#00ff00' (got lime[string], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === 'rgba(0, 255, 0, 0.0)' (got RGBA(0,255, 0,0)[string], expected rgba(0, 255, 0, 0.0)[string])
  • Failed assertion ctx.shadowColor === 'rgba(0, 255, 0, 0.0)' (got rgba(0, 255, 0, 0.000000)[string], expected rgba(0, 255, 0, 0.0)[string])
# 2d.shadow.attributes.shadowColor.2
  • Failed assertion ctx.shadowColor === '#00ff00' (got [object], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === '#00ff00' (got [object], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === '#00ff00' (got [object], expected #00ff00[string])
  • Passed
  • Failed assertion ctx.shadowColor === '#00ff00' (got bogus[string], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === '#00ff00' (got [object CanvasRenderingContext2D][string], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === '#00ff00' (got undefined[string], expected #00ff00[string])
  • Passed
# 2d.shadow.basic.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.basic.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.offset.positiveX
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.offset.negativeX
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.offset.positiveY
  • Failed assertion: got pixel [255,0,0,255] at (50,37), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,37), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.offset.negativeY
  • Failed assertion: got pixel [255,0,0,255] at (50,12), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,12), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.outside
  • Failed assertion: got pixel [255,0,0,255] at (12,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (87,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,12), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,37), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (12,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (87,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,12), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,37), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.clip.1
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.clip.2
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.clip.3
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.stroke.basic
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.stroke.cap.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.stroke.cap.2
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.stroke.join.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.stroke.join.2
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.stroke.join.3
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.image.basic
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.image.transparent.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.image.transparent.2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.image.alpha
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.image.section
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.image.scale
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.canvas.basic
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.canvas.transparent.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.canvas.transparent.2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.canvas.alpha
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.pattern.basic
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.pattern.transparent.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.pattern.transparent.2
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.pattern.alpha
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.gradient.basic
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.gradient.transparent.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.gradient.transparent.2
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.gradient.alpha
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.transform.1
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.transform.2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.blur.low
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.blur.high
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.alpha.1
  • Passed
  • Passed
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.alpha.2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.alpha.3
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.alpha.4
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.alpha.5
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.composite.1
  • Failed assertion: got pixel [255,255,255,1] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.composite.2
  • Failed assertion: got pixel [255,255,255,1] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.composite.3
  • Failed assertion: got pixel [255,255,255,1] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.shadow.composite.4
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Cannot automatically verify result
  • Cannot automatically verify result
Passes 71.2% 81.9% 66.9% 76.1%