Test Firefox 3.7 alpha (20100227; Linux) Opera 10.50 alpha (6234; Linux) Chromium 5.0.308.0 (Linux) Konqueror 4.3.3 (Linux)
# fallback.basic
  • Passed
  • Passed
  • Passed
  • Passed
# fallback.multiple
  • Passed
  • Passed
  • Passed
  • Passed
# fallback.nested
  • Passed
  • Passed
  • Passed
  • Passed
# type.name
  • Passed
  • Passed
  • Passed
  • Passed
# type.exists
  • Passed
  • Passed
  • Passed
  • Passed
# type.delete
  • Passed
  • Passed
  • 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: Cannot set property 'getContext' of null
  • 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.get
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.set
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.idl.set.zero
  • Passed
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Passed
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.idl
  • Passed
  • Failed assertion canvas.width === 200 (got 300[number], expected 200[number])
  • Failed assertion canvas.height === 200 (got 150[number], expected 200[number])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Passed
  • Failed assertion canvas.width === 150 (got 1[number], expected 150[number])
  • Failed assertion canvas.width === 200 (got 300[number], expected 200[number])
  • Failed assertion canvas.height === 200 (got 150[number], expected 200[number])
  • Failed assertion canvas.width === 0 (got 400[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.default
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.reflect.setidl
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.reflect.setidlzero
  • Passed
  • Failed assertion canvas.getAttribute('width') === '0' (got 300[string], expected 0[string])
  • Failed assertion canvas.getAttribute('height') === '0' (got 150[string], expected 0[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Passed
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.reflect.setcontent
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.removed
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.zero
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Passed
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.parse.empty
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.onlyspace
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.space
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.whitespace
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.plus
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.minus
  • Failed assertion canvas.width === 300 (got 0[number], expected 300[number])
  • Failed assertion canvas.height === 150 (got 0[number], expected 150[number])
  • Passed
  • Failed assertion canvas.width === 300 (got -100[number], expected 300[number])
  • Failed assertion canvas.height === 150 (got -100[number], expected 150[number])
  • Passed
# size.attributes.parse.octal
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.hex
  • Failed assertion canvas.width === 0 (got 100[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 100[number], expected 0[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Passed
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.parse.exp
  • Failed assertion canvas.width === 100 (got 300[number], expected 100[number])
  • Failed assertion canvas.height === 100 (got 150[number], expected 100[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.decimal
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.percent
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.em
  • Failed assertion canvas.width === 100 (got 300[number], expected 100[number])
  • Failed assertion canvas.height === 100 (got 150[number], expected 100[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.parse.junk
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.parse.trailingjunk
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.zero
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.setAttribute.empty
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.onlyspace
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.space
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.whitespace
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.plus
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.minus
  • Failed assertion canvas.width === 300 (got 0[number], expected 300[number])
  • Failed assertion canvas.height === 150 (got 0[number], expected 150[number])
  • Passed
  • Failed assertion canvas.width === 300 (got -100[number], expected 300[number])
  • Failed assertion canvas.height === 150 (got -100[number], expected 150[number])
  • Passed
# size.attributes.setAttribute.octal
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.hex
  • Failed assertion canvas.width === 0 (got 100[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 100[number], expected 0[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "0px" (got auto[string], expected 0px[string])
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
# size.attributes.setAttribute.exp
  • Failed assertion canvas.width === 100 (got 300[number], expected 100[number])
  • Failed assertion canvas.height === 100 (got 150[number], expected 100[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.decimal
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.percent
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion canvas.width === 100 (got 300[number], expected 100[number])
  • Failed assertion canvas.height === 100 (got 150[number], expected 100[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.em
  • Failed assertion canvas.width === 100 (got 300[number], expected 100[number])
  • Failed assertion canvas.height === 100 (got 150[number], expected 100[number])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.setAttribute.junk
  • Passed
  • Passed
  • Passed
  • Passed
# size.attributes.setAttribute.trailingjunk
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got auto[string], expected 100px[string])
  • Failed assertion window.getComputedStyle(canvas, null).getPropertyValue("width") == "100px" (got 0px[string], expected 100px[string])
# size.attributes.style
  • Passed
  • Passed
  • Passed
  • Passed
# initial.colour
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.different
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.same
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.path
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (20,20), expected [0,0,0,0]
  • Passed
# initial.reset.clip
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.transform
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.gradient
  • Passed
  • Passed
  • Passed
  • Passed
# initial.reset.pattern
  • Passed
  • Passed
  • Passed
  • Passed
# context.emptystring
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Failed assertion canvas.getContext("") === null (got [undefined], expected [object])
  • Passed
# context.unrecognised.badname
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Failed assertion canvas.getContext('This is not an implemented context in any real browser') === null (got [undefined], expected [object])
  • Passed
# context.unrecognised.badsuffix
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Failed assertion canvas.getContext("2d#") === null (got [undefined], expected [object])
  • 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])
  • Failed assertion canvas.getContext("2d\0") === null (got [undefined], expected [object])
  • Passed
# context.unrecognised.unicode
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Failed assertion canvas.getContext("2\uFF44") === null (got [undefined], expected [object])
  • Passed
# context.casesensitive
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMHTMLCanvasElement.getContext]
  • Passed
  • Failed assertion canvas.getContext('2D') === null (got [undefined], expected [object])
  • Passed
# toDataURL.default
  • Passed
  • Passed
  • Passed
  • Passed
# toDataURL.png
  • Passed
  • Passed
  • Passed
  • Passed
# toDataURL.bogustype
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Passed
  • Passed
  • Passed
# toDataURL.unrecognised
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Passed
  • Passed
  • Passed
# toDataURL.lowercase.ascii
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Failed assertion data matches /^data:image\/jpeg[;,]/ (got data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyCAYAAACqNX6+AAAAKklEQVR42u3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAAAAAAAAAAAAAAAD4NE5SAAG30DXzAAAAAElFTkSuQmCC[string])
  • Passed
  • Passed
# toDataURL.lowercase.unicode
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Passed
  • Passed
  • Passed
# toDataURL.arguments.1
  • Aborted with exception: Security error
  • Passed
  • Passed
  • Passed
# toDataURL.arguments.2
  • Aborted with exception: Security error
  • Passed
  • Passed
  • Passed
# toDataURL.arguments.3
  • Aborted with exception: Security error
  • Passed
  • Passed
  • Passed
# toDataURL.nocontext
  • Passed
  • Passed
  • Passed
  • Passed
# toDataURL.zerosize
  • Failed assertion data === 'data:,' (got data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAxUlEQVR4nO3BMQEAAADCoPVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1v9QAATX68/0AAAAASUVORK5CYII=[string], expected data:,[string])
  • Failed assertion data === 'data:,' (got data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAAxUlEQVR42u3BMQEAAADCoPVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1v9QAAS9p4J4AAAAASUVORK5CYII=[string], expected data:,[string])
  • Passed
  • Failed assertion data === 'data:,' (got data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAxUlEQVR4nO3BMQEAAADCoPVPbQhfoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOA1v9QAATX68/0AAAAASUVORK5CYII=[string], expected data:,[string])
# toDataURL.png.primarycolours
  • Passed
  • Passed
  • Passed
  • Cannot automatically verify result
# toDataURL.png.complexcolours
  • Passed
  • Failed assertion: got pixel [4,8,14,128] at (62,40), expected [6,10,250,127] +/- 4
  • Failed assertion: got pixel [8,12,171,64] at (87,40), expected [12,16,244,63] +/- 8
  • Failed assertion: got pixel [5,188,185,191] at (37,40), expected [8,252,248,191] +/- 2
  • Failed assertion: got pixel [1,3,123,128] at (62,40), expected [6,10,250,127] +/- 4
  • Failed assertion: got pixel [0,0,60,63] at (87,40), expected [12,16,244,63] +/- 8
  • Cannot automatically verify result
# toDataURL.jpeg.primarycolours
  • Passed
  • Passed
  • Passed
  • Cannot automatically verify result
# toDataURL.jpeg.alpha
  • Failed assertion: got pixel [129,255,129,255] at (50,25), expected [63,127,63,255] +/- 8
  • Failed assertion: got pixel [127,254,122,255] at (50,25), expected [63,127,63,255] +/- 8
  • Passed
  • Passed
# toDataURL.jpeg.quality.basic
  • Aborted with exception: Security error
  • Passed
  • Passed
  • Passed
# toDataURL.jpeg.quality.notnumber
  • Aborted with exception: Security error
  • Failed assertion canvas.toDataURL('image/jpeg', null) === data (got data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAH//wGwAf8B//8BAf8BAQEBAQGwAQH/AQEBTP///gEcAUwBAf//HgGwAQGAAVD///+AAf4eAQEB//8BAf8BHgEBAQGw/wEBAQEBGv/kAQEBAbD/AQEBAQEB/+QBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIADIAZAMBIgACEQEDEQH/2gAMAwEAAhEDEQA/AP5fP+MPf+rlf/Er/hf/APQY0f8AGHv/AFcr/wCJX/C//wCgxr5qor/vO/r/AJLrjb/6IT+Ivn/50nxF/wDopPpX/jD3/q5X/wASv+F//wBBjR/xh7/1cr/4lf8AC/8A+gxr5qoo/r/kuuNv/ohD5/8AnSfEX/6KT6V/4w9/6uV/8Sv+F/8A9BjR/wAYe/8AVyv/AIlf8L//AKDGvmqij+v+S642/wDohD5/+dJ8Rf8A6KT6V/4w9/6uV/8AEr/hf/8AQY0f8Ye/9XK/+JX/AAv/APoMa+aqKP6/5Lrjb/6IQ+f/AJ0nxF/+ik+lf+MPf+rlf/Er/hf/APQY0f8AGHv/AFcr/wCJX/C//wCgxr5qoo/r/kuuNv8A6IQ+f/nSfEX/AOik+lf+MPf+rlf/ABK/4X//AEGNH/GHv/Vyv/iV/wAL/wD6DGvmqij+v+S642/+iEPn/wCdJ8Rf/opPpX/jD3/q5X/xK/4X/wD0GNH/ABh7/wBXK/8AiV/wv/8AoMa+aqKP6/5Lrjb/AOiEPn/50nxF/wDopCiiivqj7UKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAP/Z[string], expected data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAUDAwUHDA8SBAQEBggREhEEBAUHDBEVEQQFBwkPGhgTBQcLERQhHxcHCxETGB8iHA8TFxofJCQeFhwdHSIeHx4BBQUHDh4eHh4FBggUHh4eHgcIER4eHh4eDhQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIADIAZAMBIgACEQEDEQH/2gAMAwEAAhEDEQA/APn77d4Y/wCgF4l/8D4v/kOj7d4Y/wCgF4l/8D4v/kOsKiv7D9hH+ar/AOBS/wAz5P6tH+av/wCBS/zN37d4Y/6AXiX/AMD4v/kOj7d4Y/6AXiX/AMD4v/kOsKij2Ef5qv8A4FL/ADD6tH+av/4FL/M3ft3hj/oBeJf/AAPi/wDkOj7d4Y/6AXiX/wAD4v8A5DrCoo9hH+ar/wCBS/zD6tH+av8A+BS/zN37d4Y/6AXiX/wPi/8AkOj7d4Y/6AXiX/wPi/8AkOsKij2Ef5qv/gUv8w+rR/mr/wDgUv8AM3ft3hj/AKAXiX/wPi/+Q6Pt3hj/AKAXiX/wPi/+Q6wqKPYR/mq/+BS/zD6tH+av/wCBS/zN37d4Y/6AXiX/AMD4v/kOj7d4Y/6AXiX/AMD4v/kOsKij2Ef5qv8A4FL/ADD6tH+av/4FL/M3ft3hj/oBeJf/AAPi/wDkOj7d4Y/6AXiX/wAD4v8A5DrCoo9hH+ar/wCBS/zD6tH+av8A+BS/zCiiiug6gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAA/9k=[string])
  • Failed assertion canvas.toDataURL('image/jpeg', true) === data (got data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIADIAZAMBIgACEQEDEQH/2gAMAwEAAhEDEQA/AP5fP+Ep/Y9/6IV+0r/4lf8AC/8A+gxo/wCEp/Y9/wCiFftK/wDiV/wv/wDoMa+aqK/7zv8AU7Kf+gvin/xOuNv/AKIT+Iv9Qcj/AOg7jX/xZPiL/wDRSfSv/CU/se/9EK/aV/8AEr/hf/8AQY0f8JT+x7/0Qr9pX/xK/wCF/wD9BjXzVRR/qdlP/QXxT/4nXG3/ANEIf6g5H/0Hca/+LJ8Rf/opPpX/AISn9j3/AKIV+0r/AOJX/C//AOgxo/4Sn9j3/ohX7Sv/AIlf8L//AKDGvmqij/U7Kf8AoL4p/wDE642/+iEP9Qcj/wCg7jX/AMWT4i//AEUn0r/wlP7Hv/RCv2lf/Er/AIX/AP0GNH/CU/se/wDRCv2lf/Er/hf/APQY181UUf6nZT/0F8U/+J1xt/8ARCH+oOR/9B3Gv/iyfEX/AOik+lf+Ep/Y9/6IV+0r/wCJX/C//wCgxo/4Sn9j3/ohX7Sv/iV/wv8A/oMa+aqKP9Tsp/6C+Kf/ABOuNv8A6IQ/1ByP/oO41/8AFk+Iv/0Un0r/AMJT+x7/ANEK/aV/8Sv+F/8A9BjR/wAJT+x7/wBEK/aV/wDEr/hf/wDQY181UUf6nZT/ANBfFP8A4nXG3/0Qh/qDkf8A0Hca/wDiyfEX/wCik+lf+Ep/Y9/6IV+0r/4lf8L/AP6DGj/hKf2Pf+iFftK/+JX/AAv/APoMa+aqKP8AU7Kf+gvin/xOuNv/AKIQ/wBQcj/6DuNf/Fk+Iv8A9FIUUUV9UfahRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAD/2Q==[string], expected data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAUDAwUHDA8SBAQEBggREhEEBAUHDBEVEQQFBwkPGhgTBQcLERQhHxcHCxETGB8iHA8TFxofJCQeFhwdHSIeHx4BBQUHDh4eHh4FBggUHh4eHgcIER4eHh4eDhQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIADIAZAMBIgACEQEDEQH/2gAMAwEAAhEDEQA/APn77d4Y/wCgF4l/8D4v/kOj7d4Y/wCgF4l/8D4v/kOsKiv7D9hH+ar/AOBS/wAz5P6tH+av/wCBS/zN37d4Y/6AXiX/AMD4v/kOj7d4Y/6AXiX/AMD4v/kOsKij2Ef5qv8A4FL/ADD6tH+av/4FL/M3ft3hj/oBeJf/AAPi/wDkOj7d4Y/6AXiX/wAD4v8A5DrCoo9hH+ar/wCBS/zD6tH+av8A+BS/zN37d4Y/6AXiX/wPi/8AkOj7d4Y/6AXiX/wPi/8AkOsKij2Ef5qv/gUv8w+rR/mr/wDgUv8AM3ft3hj/AKAXiX/wPi/+Q6Pt3hj/AKAXiX/wPi/+Q6wqKPYR/mq/+BS/zD6tH+av/wCBS/zN37d4Y/6AXiX/AMD4v/kOj7d4Y/6AXiX/AMD4v/kOsKij2Ef5qv8A4FL/ADD6tH+av/4FL/M3ft3hj/oBeJf/AAPi/wDkOj7d4Y/6AXiX/wAD4v8A5DrCoo9hH+ar/wCBS/zD6tH+av8A+BS/zCiiiug6gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAA/9k=[string])
  • Failed assertion canvas.toDataURL('image/jpeg', '0.01') === data (got data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAH//wGwAf8B//8BAf8BAQEBAQGwAQH/AQEBTP///gEcAUwBAf//HgGwAQGAAVD///+AAf4eAQEB//8BAf8BHgEBAQGw/wEBAQEBGv/kAQEBAbD/AQEBAQEB/+QBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIADIAZAMBIgACEQEDEQH/2gAMAwEAAhEDEQA/AP5fP+MPf+rlf/Er/hf/APQY0f8AGHv/AFcr/wCJX/C//wCgxr5qor/vO/r/AJLrjb/6IT+Ivn/50nxF/wDopPpX/jD3/q5X/wASv+F//wBBjR/xh7/1cr/4lf8AC/8A+gxr5qoo/r/kuuNv/ohD5/8AnSfEX/6KT6V/4w9/6uV/8Sv+F/8A9BjR/wAYe/8AVyv/AIlf8L//AKDGvmqij+v+S642/wDohD5/+dJ8Rf8A6KT6V/4w9/6uV/8AEr/hf/8AQY0f8Ye/9XK/+JX/AAv/APoMa+aqKP6/5Lrjb/6IQ+f/AJ0nxF/+ik+lf+MPf+rlf/Er/hf/APQY0f8AGHv/AFcr/wCJX/C//wCgxr5qoo/r/kuuNv8A6IQ+f/nSfEX/AOik+lf+MPf+rlf/ABK/4X//AEGNH/GHv/Vyv/iV/wAL/wD6DGvmqij+v+S642/+iEPn/wCdJ8Rf/opPpX/jD3/q5X/xK/4X/wD0GNH/ABh7/wBXK/8AiV/wv/8AoMa+aqKP6/5Lrjb/AOiEPn/50nxF/wDopCiiivqj7UKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAP/Z[string], expected data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAAQABAAD/2wCEAAUDAwUHDA8SBAQEBggREhEEBAUHDBEVEQQFBwkPGhgTBQcLERQhHxcHCxETGB8iHA8TFxofJCQeFhwdHSIeHx4BBQUHDh4eHh4FBggUHh4eHgcIER4eHh4eDhQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/EAaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/AABEIADIAZAMBIgACEQEDEQH/2gAMAwEAAhEDEQA/APn77d4Y/wCgF4l/8D4v/kOj7d4Y/wCgF4l/8D4v/kOsKiv7D9hH+ar/AOBS/wAz5P6tH+av/wCBS/zN37d4Y/6AXiX/AMD4v/kOj7d4Y/6AXiX/AMD4v/kOsKij2Ef5qv8A4FL/ADD6tH+av/4FL/M3ft3hj/oBeJf/AAPi/wDkOj7d4Y/6AXiX/wAD4v8A5DrCoo9hH+ar/wCBS/zD6tH+av8A+BS/zN37d4Y/6AXiX/wPi/8AkOj7d4Y/6AXiX/wPi/8AkOsKij2Ef5qv/gUv8w+rR/mr/wDgUv8AM3ft3hj/AKAXiX/wPi/+Q6Pt3hj/AKAXiX/wPi/+Q6wqKPYR/mq/+BS/zD6tH+av/wCBS/zN37d4Y/6AXiX/AMD4v/kOj7d4Y/6AXiX/AMD4v/kOsKij2Ef5qv8A4FL/ADD6tH+av/4FL/M3ft3hj/oBeJf/AAPi/wDkOj7d4Y/6AXiX/wAD4v8A5DrCoo9hH+ar/wCBS/zD6tH+av8A+BS/zCiiiug6gooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAA/9k=[string])
  • Passed
  • Passed
# toDataURL.jpeg.quality.outsiderange
  • Aborted with exception: Security error
  • Failed assertion: canvas.toDataURL('image/jpeg', 0).length <= canvas.toDataURL('image/jpeg', 0.1).length
  • Passed
  • Passed
# security.drawImage.image
  • Passed
  • Passed
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Aborted with exception: INVALID_STATE_ERR
# security.drawImage.canvas
  • Passed
  • Passed
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Passed
# security.pattern.create
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# security.pattern.cross
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# security.pattern.canvas.timing
  • Passed
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR
# security.pattern.image.fillStyle
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# security.pattern.canvas.fillStyle
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Passed
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Aborted with exception: INVALID_STATE_ERR
# security.pattern.image.strokeStyle
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# security.pattern.canvas.strokeStyle
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Passed
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: ctx.getImageData(0, 0, 1, 1)
  • Aborted with exception: INVALID_STATE_ERR
# security.dataURI
  • Passed
  • Passed
  • Passed
  • Aborted with exception: INVALID_ACCESS_ERR
# security.reset
  • Passed
  • Passed
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Failed assertion: should throw exception: canvas.toDataURL()
  • Aborted with exception: INVALID_STATE_ERR
# 2d.getcontext.exists
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.getcontext.unique
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.getcontext.shared
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.voidreturn
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.missingargs
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments
  • 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: Not enough arguments [nsIDOMCanvasGradient.addColorStop]
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: Not enough arguments [nsIDOMCanvasGradient.addColorStop]
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.drawImage()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.drawImage(canvas)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.drawImage(canvas, 0)
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale(1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.translate()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.translate(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.transform()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.transform(1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.transform(1, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.transform(1, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.transform(1, 0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.transform(1, 0, 0, 1, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.setTransform()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.setTransform(1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.setTransform(1, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.setTransform(1, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.setTransform(1, 0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.setTransform(1, 0, 0, 1, 0)
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.clearRect()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.clearRect(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.clearRect(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.clearRect(0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.fillRect()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.fillRect(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.fillRect(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.fillRect(0, 0, 0)
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.moveTo()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.moveTo(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineTo()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineTo(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.quadraticCurveTo()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.quadraticCurveTo(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.quadraticCurveTo(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.quadraticCurveTo(0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.bezierCurveTo()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.bezierCurveTo(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.bezierCurveTo(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.bezierCurveTo(0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.bezierCurveTo(0, 0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.bezierCurveTo(0, 0, 0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arcTo()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arcTo(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arcTo(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arcTo(0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arcTo(0, 0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rect()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rect(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rect(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rect(0, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arc()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arc(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arc(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arc(0, 0, 1)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arc(0, 0, 1, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.arc(0, 0, 1, 0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.isPointInPath()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.isPointInPath(0)
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.measureText()
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: TYPE_MISMATCH_ERR: DOM Exception 17
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: drawImage: Invalid number of arguments
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: drawImage: Invalid number of arguments
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData()
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(0, 0)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(0, 0, 1)
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: SYNTAX_ERR: DOM Exception 12
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: TYPE_MISMATCH_ERR
# 2d.coordinatespace
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
# 2d.scaled
  • 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
# 2d.state.saverestore.font
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.font === old (got 25px serif[string], expected [undefined])
# 2d.state.saverestore.textAlign
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.textAlign === old (got center[string], expected [undefined])
# 2d.state.saverestore.textBaseline
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.textBaseline === old (got bottom[string], expected [undefined])
# initial.reset.2dstate
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.font === default_val (got 25px serif[string], expected [undefined])
  • Failed assertion ctx.textAlign === default_val (got center[string], expected [undefined])
  • Failed assertion ctx.textBaseline === default_val (got bottom[string], expected [undefined])
# 2d.state.saverestore.transformation
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.clip
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.path
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.bitmap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.stack
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.stackdepth
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.state.saverestore.underflow
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.order
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.scale.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.scale.zero
  • Aborted with exception: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMHTMLCanvasElement.toDataURL]
  • Passed
  • Passed
  • Passed
# 2d.transformation.scale.negative
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.scale.large
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.scale.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.transformation.scale.multiple
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.rotate.zero
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.rotate.radians
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.rotate.direction
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.rotate.wrap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.rotate.wrapnegative
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.rotate.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.transformation.translate.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.translate.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.transformation.transform.identity
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.transform.skewed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,254] at (39,19), expected [0,255,0,255]
  • Failed assertion: got pixel [3,252,0,255] at (21,39), expected [0,255,0,255]
# 2d.transformation.transform.multiply
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.transform.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.transformation.setTransform.skewed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,254] at (39,19), expected [0,255,0,255]
  • Failed assertion: got pixel [3,252,0,255] at (21,39), expected [0,255,0,255]
# 2d.transformation.setTransform.multiple
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.transformation.setTransform.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.composite.globalAlpha.range
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.invalid
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.composite.globalAlpha.default
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.fill
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.image
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.canvas
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.globalAlpha.imagepattern
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.composite.globalAlpha.canvaspattern
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.source-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.destination-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.source-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.destination-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.source-out
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.destination-out
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.source-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.destination-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.xor
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.copy
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.solid.lighter
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.source-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.destination-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.source-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.destination-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.source-out
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.destination-out
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,247,0,32] at (50,25), expected [0,255,0,31] +/- 5
# 2d.composite.transparent.source-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.destination-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.xor
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.copy
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.transparent.lighter
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.image.source-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.image.destination-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.image.source-in
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [255,255,0,95] +/- 5
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [255,255,0,95] +/- 5
  • Passed
# 2d.composite.image.destination-in
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,255,95] +/- 5
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,255,255,95] +/- 5
  • Passed
# 2d.composite.image.source-out
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [255,255,0,95] +/- 5
  • Passed
  • Passed
  • Passed
# 2d.composite.image.destination-out
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,247,247,32] at (50,25), expected [0,255,255,31] +/- 5
# 2d.composite.image.source-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.image.destination-atop
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [127,255,127,191] +/- 5
  • Passed
  • Passed
  • Passed
# 2d.composite.image.xor
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.image.copy
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.image.lighter
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.source-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.destination-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.source-in
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [255,255,0,95] +/- 5
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.destination-in
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,255,95] +/- 5
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.source-out
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [255,255,0,95] +/- 5
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.destination-out
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,247,247,32] at (50,25), expected [0,255,255,31] +/- 5
# 2d.composite.canvas.source-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.destination-atop
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [127,255,127,191] +/- 5
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.xor
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.copy
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.canvas.lighter
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.uncovered.fill.source-in
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.fill.destination-in
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.fill.source-out
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.fill.destination-atop
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.fill.copy
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,0,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.image.source-in
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.image.destination-in
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.image.source-out
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.image.destination-atop
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.image.copy
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (15,15), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.nocontext.source-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.uncovered.nocontext.destination-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.uncovered.nocontext.source-out
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.uncovered.nocontext.destination-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.uncovered.nocontext.copy
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.uncovered.pattern.source-in
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.pattern.destination-in
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.pattern.source-out
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.pattern.destination-atop
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.uncovered.pattern.copy
  • Passed
  • Passed
  • Failed assertion: got pixel [0,255,255,127] at (50,25), expected [0,0,0,0] +/- 5
  • Failed assertion: got pixel [0,253,253,127] at (50,25), expected [0,0,0,0] +/- 5
# 2d.composite.clip.source-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.destination-over
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.source-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.destination-in
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.source-out
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.destination-out
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.source-atop
  • Passed
  • Failed assertion: got pixel [0,254,0,255] at (25,25), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.composite.clip.destination-atop
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.xor
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.copy
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.composite.clip.lighter
  • Passed
  • Passed
  • Passed
  • Passed
# 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
  • Passed
  • Passed
# 2d.fillStyle.parse.hex3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hex6
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgb-num
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgb-clamp-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgb-clamp-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgb-clamp-3
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.rgb-clamp-4
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.rgb-clamp-5
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.rgb-percent
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgba-solid-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgba-solid-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgba-num-1
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,255,0,127]
# 2d.fillStyle.parse.rgba-num-2
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,255,0,127]
# 2d.fillStyle.parse.rgba-percent
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,255,0,127]
# 2d.fillStyle.parse.rgba-clamp-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.rgba-clamp-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.transparent-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.transparent-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-5
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.hsl-clamp-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-clamp-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-clamp-3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsl-clamp-4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsla-1
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,253,0,127] at (50,25), expected [0,255,0,127]
# 2d.fillStyle.parse.hsla-2
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.hsla-clamp-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsla-clamp-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsla-clamp-3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsla-clamp-4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsla-clamp-5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.hsla-clamp-6
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.svg-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.svg-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex6
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex7
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hex8
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-6
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgb-7
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgba-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgba-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgba-3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgba-4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.rgba-5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsl-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsl-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsl-3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsl-4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsl-5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsla-1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.hsla-2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.name-1
  • Passed
  • Failed assertion: got pixel [92,64,51,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.name-2
  • Passed
  • Failed assertion: got pixel [255,48,48,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.fillStyle.parse.invalid.name-3
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 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])
  • Passed
# 2d.fillStyle.parse.current.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]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.current.changed
  • 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]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.fillStyle.parse.current.removed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,0,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,255]
# 2d.fillStyle.invalidstring
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillStyle.invalidtype
  • Passed
  • Passed
  • Passed
  • Passed
# 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])
  • Passed
# 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
  • Aborted with exception: Cannot read property 'prototype' of undefined
  • Aborted with exception: Undefined value
# 2d.gradient.interpolate.solid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.colour
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.alpha
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.colouralpha
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,251,64] at (25,25), expected [191,191,63,63] +/- 3
  • Failed assertion: got pixel [0,0,253,128] at (50,25), expected [127,127,127,127] +/- 3
  • Failed assertion: got pixel [0,0,255,192] at (75,25), expected [63,63,191,191] +/- 3
# 2d.gradient.interpolate.outside
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.zerosize
  • Failed assertion: got pixel [255,0,0,255] at (40,20), expected [0,255,0,255] +/- 2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (40,20), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (40,20), expected [0,255,0,255] +/- 2
# 2d.gradient.interpolate.vertical
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.multiple
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.overlap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.interpolate.overlap2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.empty
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [130,130,130,255] at (50,25), expected [0,255,0,255] +/- 2
# 2d.gradient.object.update
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
  • Passed
# 2d.gradient.object.compare
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.object.crosscanvas
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.object.invalidoffset
  • 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: NOT_SUPPORTED_ERR
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: NOT_SUPPORTED_ERR
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: NOT_SUPPORTED_ERR
  • Passed
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: g.addColorStop(NaN, '#000')
# 2d.gradient.object.invalidcolour
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.linear.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
  • 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
  • Passed
  • Passed
# 2d.gradient.linear.transform.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.linear.transform.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.linear.transform.3
  • Failed assertion: got pixel [125,129,0,255] at (25,25), expected [0,255,0,255]
  • Passed
  • Passed
  • 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)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 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)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 0, -0.1, 0, 0, -0.1)
  • Passed
# 2d.gradient.radial.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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Passed
  • Passed
# 2d.gradient.radial.inside1
  • Passed
  • Passed
  • Failed assertion: got pixel [69,186,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [30,225,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [67,188,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [62,193,0,255] at (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [60,195,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [69,186,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [29,226,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [67,188,0,255] at (98,48), expected [0,255,0,255]
  • Passed
# 2d.gradient.radial.inside2
  • Passed
  • Passed
  • Failed assertion: got pixel [116,139,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [194,61,0,255] at (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [119,136,0,255] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [130,125,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 [133,122,0,255] at (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [117,138,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [197,58,0,255] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [120,135,0,255] at (98,48), expected [0,255,0,255]
  • Passed
# 2d.gradient.radial.inside3
  • Passed
  • 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]
  • Passed
# 2d.gradient.radial.outside1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.radial.outside2
  • Passed
  • 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]
  • Passed
# 2d.gradient.radial.outside3
  • Passed
  • 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]
  • Passed
# 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]
  • 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]
# 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]
  • 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 (1,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
# 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]
  • 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]
# 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
  • 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]
# 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]
  • 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]
# 2d.gradient.radial.cone.front
  • Passed
  • Passed
  • Passed
  • Passed
# 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]
  • 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]
# 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]
  • 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 (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]
# 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]
  • 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]
# 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]
  • 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 (50,1), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (1,25), expected [0,255,0,255]
  • 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 (98,25), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] at (50,48), expected [0,255,0,255]
  • Failed assertion: got pixel [0,0,0,0] 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]
# 2d.gradient.radial.cone.shape1
  • Passed
  • Passed
  • Passed
  • Passed
# 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]
  • 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]
# 2d.gradient.radial.transform.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.radial.transform.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.gradient.radial.transform.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 (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 2d.pattern.basic.type
  • Passed
  • Passed
  • Failed assertion window.CanvasPattern !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot read property 'prototype' of undefined
  • Failed assertion window.CanvasPattern !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Undefined value
# 2d.pattern.basic.image
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 2d.pattern.basic.canvas
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.basic.zerocanvas
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Passed
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
  • Failed assertion canvas.width === 0 (got 300[number], expected 0[number])
  • Failed assertion canvas.height === 0 (got 150[number], expected 0[number])
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(canvas, 'repeat')
# 2d.pattern.basic.nocontext
  • Passed
  • Passed
  • Passed
  • Passed
# 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
  • Passed
  • 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
  • Passed
  • 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
  • Passed
  • Passed
# 2d.pattern.image.incomplete
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.createPattern]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: TYPE_MISMATCH_ERR
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: NULL is not defined
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.image.broken
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.createPattern]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: Undefined variable: NULL
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: NULL is not defined
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.repeat.empty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.repeat.null
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.repeat.undefined
  • Passed
  • Failed assertion: should throw exception of type SYNTAX_ERR: ctx.createPattern(canvas, undefined)
  • Passed
  • Passed
# 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
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 2d.pattern.modify.image2
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.modify.canvas1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.modify.canvas2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.crosscanvas
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.norepeat.basic
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.norepeat.outside
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.paint.norepeat.coord1
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.norepeat.coord2
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.norepeat.coord3
  • Passed
  • 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 (98,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Passed
# 2d.pattern.paint.repeat.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.paint.repeat.outside
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 2d.pattern.paint.repeat.coord1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.paint.repeat.coord2
  • Passed
  • Passed
  • Passed
  • Passed
# 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
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.pattern.paint.repeatx.basic
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 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
  • Passed
  • Passed
# 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
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 2d.pattern.paint.repeaty.basic
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 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
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 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
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 2d.pattern.paint.orientation.image
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.paint.orientation.canvas
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.pattern.animated.gif
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.defaults
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.width.basic
  • Passed
  • Passed
  • Failed assertion: got pixel [7,248,0,255] at (15,25), expected [0,255,0,255]
  • Passed
# 2d.line.width.transformed
  • Passed
  • Passed
  • Failed assertion: got pixel [7,248,0,255] at (15,25), expected [0,255,0,255]
  • Passed
# 2d.line.width.scaledefault
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.width.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.width.invalid
  • 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])
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Failed assertion ctx.lineWidth === 1.5 (got Infinity[number], expected 1.5[number])
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.line.cap.butt
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.cap.round
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.cap.square
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.cap.open
  • Passed
  • Passed
  • 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 (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]
# 2d.line.cap.closed
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.cap.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.cap.invalid
  • 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.join.bevel
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.join.round
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.join.miter
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.join.open
  • Passed
  • Passed
  • 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 (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]
# 2d.line.join.closed
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.join.parallel
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.join.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.join.invalid
  • 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.miter.exceeded
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.miter.acute
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.miter.obtuse
  • Passed
  • 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 (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
# 2d.line.miter.rightangle
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.miter.lineedge
  • Passed
  • Passed
  • 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 (48,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
# 2d.line.miter.within
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.miter.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.line.miter.invalid
  • 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])
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Failed assertion ctx.miterLimit === 1.5 (got Infinity[number], expected 1.5[number])
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.line.cross
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (48,48), expected [0,255,0,255]
# 2d.line.union
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Failed assertion: got pixel [77,178,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 [77,178,0,255] at (25,1), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.shadow.attributes.shadowBlur.initial
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.attributes.shadowBlur.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.attributes.shadowBlur.invalid
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Failed assertion ctx.shadowBlur === 1 (got -2[number], expected 1[number])
  • Failed assertion ctx.shadowBlur === 1 (got Infinity[number], expected 1[number])
  • Failed assertion ctx.shadowBlur === 1 (got -Infinity[number], expected 1[number])
  • Failed assertion ctx.shadowBlur === 1 (got NaN[number], expected 1[number])
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.shadow.attributes.shadowOffset.initial
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.attributes.shadowOffset.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.attributes.shadowOffset.invalid
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Failed assertion ctx.shadowOffsetX === 1 (got Infinity[number], expected 1[number])
  • Failed assertion ctx.shadowOffsetY === 2 (got Infinity[number], expected 2[number])
  • Failed assertion ctx.shadowOffsetX === 1 (got -Infinity[number], expected 1[number])
  • Failed assertion ctx.shadowOffsetY === 2 (got -Infinity[number], expected 2[number])
  • Failed assertion ctx.shadowOffsetX === 1 (got NaN[number], expected 1[number])
  • Failed assertion ctx.shadowOffsetY === 2 (got NaN[number], expected 2[number])
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.shadow.attributes.shadowColor.initial
  • Passed
  • Passed
  • Failed assertion ctx.shadowColor === 'rgba(0, 0, 0, 0.0)' (got black[string], expected rgba(0, 0, 0, 0.0)[string])
  • Passed
# 2d.shadow.attributes.shadowColor.valid
  • Passed
  • 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])
  • Passed
# 2d.shadow.attributes.shadowColor.invalid
  • Failed assertion ctx.shadowColor === '#00ff00' (got #ff0000[string], expected #00ff00[string])
  • Passed
  • Failed assertion ctx.shadowColor === '#00ff00' (got bogus[string], expected #00ff00[string])
  • Failed assertion ctx.shadowColor === '#00ff00' (got red 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.enable.off.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.enable.off.2
  • Passed
  • Failed assertion: got pixel [253,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.shadow.enable.blur
  • Passed
  • Failed assertion: got pixel [0,253,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]
  • Passed
# 2d.shadow.enable.x
  • Passed
  • Failed assertion: got pixel [0,253,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]
  • Passed
# 2d.shadow.enable.y
  • Passed
  • Failed assertion: got pixel [0,253,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]
  • Passed
# 2d.shadow.offset.positiveX
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.offset.negativeX
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.offset.positiveY
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.offset.negativeY
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.outside
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.clip.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.clip.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.clip.3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.stroke.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.stroke.cap.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.stroke.cap.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.stroke.join.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.stroke.join.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.stroke.join.3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.image.basic
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.shadow.image.transparent.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.image.transparent.2
  • Passed
  • Passed
  • 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]
  • Passed
# 2d.shadow.image.alpha
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.image.section
  • Passed
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR: DOM Exception 1
  • Aborted with exception: INVALID_STATE_ERR
# 2d.shadow.image.scale
  • Passed
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR: DOM Exception 1
  • Aborted with exception: INVALID_STATE_ERR
# 2d.shadow.canvas.basic
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.shadow.canvas.transparent.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.canvas.transparent.2
  • Passed
  • Passed
  • 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]
  • Passed
# 2d.shadow.canvas.alpha
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.pattern.basic
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.shadow.pattern.transparent.1
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Aborted with exception: INVALID_STATE_ERR
# 2d.shadow.pattern.transparent.2
  • Passed
  • Passed
  • Aborted with exception: INVALID_STATE_ERR: DOM Exception 11
  • Passed
# 2d.shadow.pattern.alpha
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.gradient.basic
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.shadow.gradient.transparent.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.gradient.transparent.2
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255]
  • Passed
# 2d.shadow.gradient.alpha
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.transform.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.transform.2
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 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
  • Passed
  • Passed
# 2d.shadow.alpha.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.alpha.3
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,255,255] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.alpha.4
  • Passed
  • Passed
  • Failed assertion: got pixel [74,0,180,254] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.alpha.5
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,255,255] at (50,25), expected [127,0,127,255] +/- 2
  • Passed
# 2d.shadow.composite.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.composite.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.shadow.composite.3
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (5,5), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255] +/- 2
  • Passed
  • Passed
# 2d.clearRect.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.clearRect.path
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.clearRect.zero
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.clearRect.negative
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.clearRect.transform
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
# 2d.clearRect.globalalpha
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.clearRect.globalcomposite
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.clearRect.clip
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.clearRect.shadow
  • Passed
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.clearRect.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.fillRect.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillRect.path
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillRect.zero
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillRect.negative
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.fillRect.transform
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillRect.clip
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillRect.shadow
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.fillRect.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.strokeRect.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.path
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.zero.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.zero.2
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.zero.3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.zero.4
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
  • Passed
  • Passed
# 2d.strokeRect.zero.5
  • Passed
  • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.strokeRect.negative
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.strokeRect.transform
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.globalalpha
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.globalcomposite
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.clip
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.shadow
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.strokeRect.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.initial
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.beginPath
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.moveTo.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.moveTo.newsubpath
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.moveTo.multiple
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.moveTo.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.closePath.empty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.closePath.newline
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.closePath.nextpoint
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.lineTo.ensuresubpath.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.lineTo.ensuresubpath.2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.lineTo.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.lineTo.nextpoint
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.lineTo.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.quadraticCurveTo.ensuresubpath.1
  • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 2d.path.quadraticCurveTo.ensuresubpath.2
  • Failed assertion: got pixel [255,0,0,255] at (5,45), 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 (5,45), 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 (5,45), 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 (5,45), expected [0,255,0,255]
# 2d.path.quadraticCurveTo.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.quadraticCurveTo.shape
  • Passed
  • Passed
  • 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 (98,1), expected [0,255,0,255]
# 2d.path.quadraticCurveTo.scaled
  • Passed
  • Passed
  • 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 (98,1), expected [0,255,0,255]
# 2d.path.quadraticCurveTo.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.bezierCurveTo.ensuresubpath.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.bezierCurveTo.ensuresubpath.2
  • Passed
  • 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 (5,45), 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 (5,45), 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 (5,45), expected [0,255,0,255]
# 2d.path.bezierCurveTo.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.bezierCurveTo.shape
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.bezierCurveTo.scaled
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.bezierCurveTo.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.arcTo.ensuresubpath.1
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.path.arcTo.ensuresubpath.2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.arcTo.coincide.1
  • 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 (50,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 (50,1), 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 (50,48), expected [0,255,0,255]
  • Passed
# 2d.path.arcTo.coincide.2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arcTo.collinear.1
  • Passed
  • 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]
  • Passed
# 2d.path.arcTo.collinear.2
  • Passed
  • 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]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.arcTo.collinear.3
  • Passed
  • 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]
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.arcTo.shape.curve1
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (65,45), expected [0,255,0,255]
  • Failed assertion: got pixel [0,255,0,254] at (79,35), expected [0,255,0,255]
  • Passed
# 2d.path.arcTo.shape.curve2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Failed assertion: got pixel [116,139,0,255] at (55,21), expected [0,255,0,255]
  • Failed assertion: got pixel [0,255,0,254] at (73,27), expected [0,255,0,255]
  • Failed assertion: got pixel [0,255,0,254] at (78,36), expected [0,255,0,255]
  • Passed
# 2d.path.arcTo.shape.start
  • 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 (1,48), 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,1), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arcTo.shape.end
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arcTo.negative
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arcTo.zero.1
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.path.arcTo.zero.2
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.path.arcTo.transformation
  • Passed
  • Failed assertion: got pixel [215,40,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]
  • Passed
  • Failed assertion: got pixel [2,253,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [3,252,0,255] at (99,49), expected [0,255,0,255]
# 2d.path.arcTo.scale
  • Passed
  • Failed assertion: got pixel [194,61,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]
  • Passed
  • Failed assertion: got pixel [2,253,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [3,252,0,255] at (99,49), expected [0,255,0,255]
# 2d.path.arcTo.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.arc.empty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.nonempty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.end
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.angle.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.angle.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.angle.3
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.path.arc.angle.4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.angle.5
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
# 2d.path.arc.angle.6
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.zero.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.zero.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.twopie.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.twopie.2
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,20), expected [0,255,0,255]
  • Passed
# 2d.path.arc.twopie.3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.twopie.4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.shape.1
  • Passed
  • Failed assertion: got pixel [9,246,0,255] at (20,48), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arc.shape.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.shape.3
  • Failed assertion: got pixel [42,213,0,255] at (1,48), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arc.shape.4
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arc.shape.5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.selfintersect.1
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arc.selfintersect.2
  • Passed
  • Failed assertion: got pixel [79,176,0,255] at (97,1), expected [0,255,0,255]
  • Failed assertion: got pixel [104,151,0,255] at (97,2), expected [0,255,0,255]
  • Failed assertion: got pixel [223,32,0,255] at (97,3), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (2,48), expected [0,255,0,255]
  • Passed
  • Passed
# 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.zeroradius
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.path.arc.scale.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.arc.scale.2
  • Passed
  • Failed assertion: got pixel [239,16,0,255] at (98,1), expected [0,255,0,255]
  • Passed
  • Passed
# 2d.path.arc.nonfinite
  • Aborted with exception: Not enough arguments
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.rect.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.newsubpath
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.closed
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.end.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.end.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.zero.1
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.rect.zero.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.zero.3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.zero.4
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.zero.5
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.rect.zero.6
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.rect.negative
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.path.rect.winding
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
  • Failed assertion: got pixel [255,0,0,255] at (25,12), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,12), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (25,37), expected [0,255,0,255]
  • Failed assertion: got pixel [255,0,0,255] at (75,37), expected [0,255,0,255]
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.path.rect.selfintersect
  • 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]
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
# 2d.path.rect.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.path.fill.overlap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.fill.winding.add
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.fill.winding.subtract.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.fill.winding.subtract.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.fill.winding.subtract.3
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.fill.closed.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.fill.closed.unaffected
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.overlap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.union
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.unaffected
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.scale1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.scale2
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [3,252,0,255] at (99,0), expected [0,255,0,255]
  • Failed assertion: got pixel [3,252,0,255] at (99,25), expected [0,255,0,255]
  • Failed assertion: got pixel [4,251,0,255] at (0,49), expected [0,255,0,255]
  • Failed assertion: got pixel [4,251,0,255] at (50,49), expected [0,255,0,255]
  • Failed assertion: got pixel [7,248,0,255] at (99,49), expected [0,255,0,255]
# 2d.path.stroke.skew
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.empty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.prune.line
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.prune.closed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.prune.curve
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.prune.arc
  • 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]
  • 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]
# 2d.path.stroke.prune.rect
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
  • Passed
  • Passed
  • Passed
# 2d.path.stroke.prune.corner
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.transformation.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.transformation.multiple
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.transformation.changing
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.empty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.basic.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.basic.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.intersect
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.winding.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.winding.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.clip.unaffected
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.basic.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.basic.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.edge
  • Passed
  • Failed assertion ctx.isPointInPath(0, 0) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(10, 0) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(20, 0) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(0, 20) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(0, 10) === true (got false[boolean], expected true[boolean])
  • Passed
  • Failed assertion ctx.isPointInPath(20, 0) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(20, 10) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(20, 20) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(10, 20) === true (got false[boolean], expected true[boolean])
  • Failed assertion ctx.isPointInPath(0, 20) === true (got false[boolean], expected true[boolean])
# 2d.path.isPointInPath.empty
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.subpath
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.outside
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.unclosed
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.arc
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.bigarc
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.bezier
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.path.isPointInPath.winding
  • Passed
  • Passed
  • Passed
  • 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
  • Passed
  • Passed
# 2d.path.isPointInPath.transform.2
  • 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
  • Passed
  • 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
  • Passed
  • Passed
# 2d.path.isPointInPath.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.drawImage.3arg
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.5arg
  • Failed assertion: got pixel [4,251,0,255] at (99,0), expected [0,255,0,255] +/- 2
  • Passed
  • Passed
  • Passed
# 2d.drawImage.9arg.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.9arg.sourcepos
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.9arg.sourcesize
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.9arg.destpos
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.9arg.destsize
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.canvas
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.self.1
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.self.2
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.null
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Passed
  • Passed
  • Passed
# 2d.drawImage.wrongtype
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Could not convert JavaScript argument - 0 was passed, expected object. Did you mean null? arg 0 [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Could not convert JavaScript argument arg 0 [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Passed
  • Passed
  • Passed
# 2d.drawImage.floatsource
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.zerosource
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 0, 1, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 1, 0, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 0, 0, 0, 0, 100, 50)
  • Passed
  • Passed
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 0, 1, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 1, 0, 0, 0, 100, 50)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.drawImage(document.getElementById('red.png'), 10, 10, 0, 0, 0, 0, 100, 50)
# 2d.drawImage.negativesource
  • Aborted with exception: Index or size is negative or greater than the allowed amount
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.drawImage.negativedest
  • Aborted with exception: Index or size is negative or greater than the allowed amount
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.drawImage.negativedir
  • Aborted with exception: Index or size is negative or greater than the allowed amount
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.drawImage.outsidesource
  • Aborted with exception: Index or size is negative or greater than the allowed amount
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.drawImage.incomplete
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: TYPE_MISMATCH_ERR
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: INVALID_STATE_ERR
# 2d.drawImage.broken
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIDOMCanvasRenderingContext2D.drawImage]
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
  • Aborted with exception: INVALID_STATE_ERR
# 2d.drawImage.zerocanvas
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
  • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.drawImage(canvas2, 0, 0)
# 2d.drawImage.animated.gif
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.animated.apng
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.animated.poster
  • 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
  • Passed
  • Passed
# 2d.drawImage.path
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.transform
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.alpha
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.clip
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.composite
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.nowrap
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.drawImage.nonfinite
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: NOT_SUPPORTED_ERR
  • Aborted with exception: INDEX_SIZE_ERR: DOM Exception 1
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.imageData.create2.basic
  • Passed
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Passed
  • Passed
# 2d.imageData.create1.basic
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Aborted with exception: NOT_SUPPORTED_ERR: DOM Exception 9
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.imageData.create2.type
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: window.ImageData is undefined
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot convert 'window.ImageData.prototype' to object
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot read property 'prototype' of undefined
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Undefined value
# 2d.imageData.create1.type
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: window.ImageData is undefined
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot convert 'window.ImageData.prototype' to object
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot read property 'prototype' of undefined
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Undefined value
# 2d.imageData.create2.initial
  • Passed
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Passed
  • Passed
# 2d.imageData.create1.initial
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Aborted with exception: NOT_SUPPORTED_ERR: DOM Exception 9
  • Aborted with exception: NOT_SUPPORTED_ERR
# 2d.imageData.create2.large
  • Passed
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Passed
  • Passed
# 2d.imageData.create2.tiny
  • Aborted with exception: Index or size is negative or greater than the allowed amount
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.imageData.create2.negative
  • Aborted with exception: Index or size is negative or greater than the allowed amount
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Failed assertion imgdata1.data.length == imgdata2.data.length (got 800[number], expected 4[number])
  • Passed
# 2d.imageData.create2.zero
  • Passed
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type INDEX_SIZE_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createImageData(10, 0)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createImageData(0, 10)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createImageData(0, 0)
  • Passed
# 2d.imageData.create2.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: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: 'ctx.createImageData' is not a function
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: 'ctx.createImageData' is not a function
  • Passed
  • Passed
# 2d.imageData.create1.zero
  • 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: 'ctx.createImageData' is not a function
  • Passed
  • Passed
# 2d.imageData.create2.round
  • Passed
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Passed
  • Passed
# 2d.imageData.get.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.type
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: window.ImageData is undefined
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot convert 'window.ImageData.prototype' to object
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Cannot read property 'prototype' of undefined
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.CanvasPixelArray !== undefined (got [undefined], expected not [undefined])
  • Aborted with exception: Undefined value
# 2d.imageData.get.zero
  • 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: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(1, 1, 10, 0)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(1, 1, 0, 10)
  • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.getImageData(1, 1, 0, 0)
  • Passed
# 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
  • 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: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(-Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(NaN, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, -Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, NaN, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, -Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, NaN, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, 10, -Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, 10, NaN)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, 10, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(Infinity, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.getImageData(10, 10, Infinity, Infinity)
  • Passed
# 2d.imageData.get.source.outside
  • Aborted with exception: An invalid or illegal string was specified
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.source.negative
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: INDEX_SIZE_ERR
  • Failed assertion imgdata1.data["0"] === 255 (got 0[number], expected 255[number])
  • Failed assertion imgdata1.data["1"] === 255 (got 0[number], expected 255[number])
  • Failed assertion imgdata1.data["2"] === 255 (got 0[number], expected 255[number])
  • Failed assertion imgdata2.data["3"] === 0 (got 255[number], expected 0[number])
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.imageData.get.source.size
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.tiny
  • Aborted with exception: An invalid or illegal string was specified
  • Aborted with exception: INDEX_SIZE_ERR
  • Passed
  • Aborted with exception: INDEX_SIZE_ERR
# 2d.imageData.get.nonpremul
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.range
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.clamp
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.length
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.order.cols
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.order.rows
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.order.rgb
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.order.alpha
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.get.unaffected
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.object.properties
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.object.readonly
  • Failed assertion imgdata.width === w (got 123[number], expected 10[number])
  • Failed assertion imgdata.height === h (got 123[number], expected 10[number])
  • Failed assertion imgdata.data === d (got 100,100,100,100[object], expected 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0[object])
  • Failed assertion imgdata.data["0"] === 0 (got 100[number], expected 0[number])
  • Failed assertion imgdata.data["1"] === 0 (got 100[number], expected 0[number])
  • Failed assertion imgdata.data["2"] === 0 (got 100[number], expected 0[number])
  • Failed assertion imgdata.data["3"] === 0 (got 100[number], expected 0[number])
  • Passed
  • Passed
  • Passed
# 2d.imageData.object.ctor
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion: should throw exception: new window.ImageData(1,1)
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
  • Failed assertion window.ImageData !== undefined (got [undefined], expected not [undefined])
# 2d.imageData.object.set
  • Passed
  • Passed
  • Passed
  • Failed assertion imgdata.data["0"] === 100 (got 0[number], expected 100[number])
  • Failed assertion imgdata.data["0"] === 200 (got 0[number], expected 200[number])
# 2d.imageData.object.undefined
  • Failed assertion imgdata.data["0"] === 0 (got [undefined], expected 0[number])
  • Passed
  • Passed
  • Passed
# 2d.imageData.object.nan
  • Failed assertion imgdata.data["0"] === 0 (got NaN[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 0 (got cheese[string], expected 0[number])
  • Passed
  • Passed
  • Passed
# 2d.imageData.object.string
  • Failed assertion imgdata.data["0"] === 110 (got 110[string], expected 110[number])
  • Failed assertion imgdata.data["0"] === 120 (got 0x78[string], expected 120[number])
  • Failed assertion imgdata.data["0"] === 130 (got +130e0 [string], expected 130[number])
  • Passed
  • Passed
  • Failed assertion imgdata.data["0"] === 110 (got 0[number], expected 110[number])
  • Failed assertion imgdata.data["0"] === 120 (got 0[number], expected 120[number])
  • Failed assertion imgdata.data["0"] === 130 (got 0[number], expected 130[number])
# 2d.imageData.object.wrap
  • Failed assertion imgdata.data["0"] === 44 (got 300[number], expected 44[number])
  • Failed assertion imgdata.data["0"] === 156 (got -100[number], expected 156[number])
  • Failed assertion imgdata.data["0"] === 200 (got 4294967496[number], expected 200[number])
  • Failed assertion imgdata.data["0"] === 56 (got -4294967496[number], expected 56[number])
  • Failed assertion imgdata.data["0"] === 0 (got -Infinity[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 0 (got Infinity[number], expected 0[number])
  • Passed
  • Failed assertion imgdata.data["0"] === 44 (got 255[number], expected 44[number])
  • Failed assertion imgdata.data["0"] === 156 (got 0[number], expected 156[number])
  • Failed assertion imgdata.data["0"] === 200 (got 255[number], expected 200[number])
  • Failed assertion imgdata.data["0"] === 56 (got 0[number], expected 56[number])
  • Failed assertion imgdata.data["0"] === 0 (got 255[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 44 (got 0[number], expected 44[number])
  • Failed assertion imgdata.data["0"] === 156 (got 0[number], expected 156[number])
  • Failed assertion imgdata.data["0"] === 200 (got 0[number], expected 200[number])
  • Failed assertion imgdata.data["0"] === 56 (got 0[number], expected 56[number])
# 2d.imageData.object.round
  • Failed assertion imgdata.data["0"] === 0 (got 0.499[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 0 (got 0.5[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 0 (got 0.501[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 1 (got 1.499[number], expected 1[number])
  • Failed assertion imgdata.data["0"] === 2 (got 1.5[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 2 (got 1.501[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 2 (got 2.5[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 4 (got 3.5[number], expected 4[number])
  • Failed assertion imgdata.data["0"] === 252 (got 252.5[number], expected 252[number])
  • Failed assertion imgdata.data["0"] === 253 (got 253.5[number], expected 253[number])
  • Failed assertion imgdata.data["0"] === 254 (got 254.5[number], expected 254[number])
  • Failed assertion imgdata.data["0"] === 0 (got 256.5[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 0 (got -0.5[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 255 (got -1.5[number], expected 255[number])
  • Failed assertion imgdata.data["0"] === 2 (got 1[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 2 (got 1[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 4 (got 3[number], expected 4[number])
  • Failed assertion imgdata.data["0"] === 0 (got 1[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 0 (got 1[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 2 (got 3[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 252 (got 253[number], expected 252[number])
  • Failed assertion imgdata.data["0"] === 253 (got 254[number], expected 253[number])
  • Failed assertion imgdata.data["0"] === 254 (got 255[number], expected 254[number])
  • Failed assertion imgdata.data["0"] === 0 (got 255[number], expected 0[number])
  • Failed assertion imgdata.data["0"] === 255 (got 0[number], expected 255[number])
  • Failed assertion imgdata.data["0"] === 1 (got 0[number], expected 1[number])
  • Failed assertion imgdata.data["0"] === 2 (got 0[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 2 (got 0[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 2 (got 0[number], expected 2[number])
  • Failed assertion imgdata.data["0"] === 4 (got 0[number], expected 4[number])
  • Failed assertion imgdata.data["0"] === 252 (got 0[number], expected 252[number])
  • Failed assertion imgdata.data["0"] === 253 (got 0[number], expected 253[number])
  • Failed assertion imgdata.data["0"] === 254 (got 0[number], expected 254[number])
  • Failed assertion imgdata.data["0"] === 255 (got 0[number], expected 255[number])
# 2d.imageData.put.null
  • 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: WRONG_ARGUMENTS_ERR
  • Passed
  • Passed
# 2d.imageData.put.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
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: An invalid or illegal string was specified
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, 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
  • 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
  • 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
  • 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
  • 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: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity)
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR: DOM Exception 1
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, -Infinity, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, NaN, 10, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, -Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, NaN, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, -Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, NaN, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, -Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, 10, NaN)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, Infinity, 10, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, 10)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, Infinity, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, Infinity, 10, Infinity)
  • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.putImageData(imgdata, 10, 10, 10, 10, Infinity, Infinity)
# 2d.imageData.put.basic
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.put.created
  • Passed
  • Aborted with exception: 'ctx.createImageData' is not a function
  • Passed
  • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
# 2d.imageData.put.wrongtype
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData(imgdata, 0, 0)
  • 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(imgdata, 0, 0)
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: WRONG_ARGUMENTS_ERR
  • Failed assertion: expected exception of type TYPE_MISMATCH_ERR, got: WRONG_ARGUMENTS_ERR
  • Passed
  • Failed assertion: should throw exception of type TYPE_MISMATCH_ERR: ctx.putImageData(imgdata, 0, 0)
# 2d.imageData.put.cross
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.put.alpha
  • Passed
  • Passed
  • Passed
  • Failed assertion: got pixel [0,259,0,63] at (50,25), expected [0,255,0,64] +/- 2
# 2d.imageData.put.modified
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.put.dirty.zero
  • 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
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255] +/- 2
# 2d.imageData.put.dirty.rect1
  • Aborted with exception: An invalid or illegal string was specified
  • Failed assertion: got pixel [255,0,0,255] at (65,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,45), expected [0,255,0,255] +/- 2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (65,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,45), expected [0,255,0,255] +/- 2
# 2d.imageData.put.dirty.rect2
  • Aborted with exception: An invalid or illegal string was specified
  • Failed assertion: got pixel [255,0,0,255] at (35,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (65,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,15), expected [0,255,0,255] +/- 2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (35,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (65,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,15), expected [0,255,0,255] +/- 2
# 2d.imageData.put.dirty.negative
  • Aborted with exception: An invalid or illegal string was specified
  • Failed assertion: got pixel [255,0,0,255] at (65,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,45), expected [0,255,0,255] +/- 2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (65,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (50,45), expected [0,255,0,255] +/- 2
# 2d.imageData.put.dirty.outside
  • Aborted with exception: An invalid or illegal string was specified
  • 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 (98,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (98,45), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (1,45), expected [0,255,0,255] +/- 2
  • Passed
  • 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 (98,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (98,45), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (1,45), expected [0,255,0,255] +/- 2
# 2d.imageData.put.unchanged
  • Passed
  • Passed
  • Failed assertion olddata["533"] === imgdata2.data["533"] (got 198[number], expected 197[number])
  • Failed assertion olddata["557"] === imgdata2.data["557"] (got 206[number], expected 205[number])
  • Failed assertion olddata["562"] === imgdata2.data["562"] (got 188[number], expected 187[number])
  • Failed assertion olddata["584"] === imgdata2.data["584"] (got 145[number], expected 144[number])
  • Failed assertion olddata["600"] === imgdata2.data["600"] (got 148[number], expected 147[number])
  • Failed assertion olddata["608"] === imgdata2.data["608"] (got 151[number], expected 150[number])
  • Failed assertion olddata["609"] === imgdata2.data["609"] (got 227[number], expected 226[number])
  • Failed assertion olddata["620"] === imgdata2.data["620"] (got 153[number], expected 152[number])
  • Failed assertion olddata["628"] === imgdata2.data["628"] (got 156[number], expected 155[number])
  • Failed assertion olddata["634"] === imgdata2.data["634"] (got 95[number], expected 94[number])
  • Failed assertion olddata["644"] === imgdata2.data["644"] (got 160[number], expected 159[number])
  • Failed assertion olddata["653"] === imgdata2.data["653"] (got 243[number], expected 242[number])
  • Failed assertion olddata["660"] === imgdata2.data["660"] (got 164[number], expected 163[number])
  • Failed assertion olddata["665"] === imgdata2.data["665"] (got 248[number], expected 247[number])
  • Failed assertion olddata["668"] === imgdata2.data["668"] (got 165[number], expected 164[number])
  • Failed assertion olddata["672"] === imgdata2.data["672"] (got 167[number], expected 166[number])
  • Failed assertion olddata["673"] === imgdata2.data["673"] (got 251[number], expected 250[number])
  • Failed assertion olddata["680"] === imgdata2.data["680"] (got 168[number], expected 167[number])
  • Failed assertion olddata["692"] === imgdata2.data["692"] (got 171[number], expected 170[number])
  • Failed assertion olddata["693"] === imgdata2.data["693"] (got 2[number], expected 1[number])
  • Failed assertion olddata["694"] === imgdata2.data["694"] (got 189[number], expected 188[number])
  • Failed assertion olddata["696"] === imgdata2.data["696"] (got 173[number], expected 172[number])
  • Failed assertion olddata["701"] === imgdata2.data["701"] (got 5[number], expected 4[number])
  • Failed assertion olddata["706"] === imgdata2.data["706"] (got 2[number], expected 1[number])
  • Failed assertion olddata["708"] === imgdata2.data["708"] (got 176[number], expected 175[number])
  • Failed assertion olddata["721"] === imgdata2.data["721"] (got 12[number], expected 11[number])
  • Failed assertion olddata["722"] === imgdata2.data["722"] (got 96[number], expected 95[number])
  • Failed assertion olddata["724"] === imgdata2.data["724"] (got 179[number], expected 178[number])
  • Failed assertion olddata["728"] === imgdata2.data["728"] (got 181[number], expected 180[number])
  • Failed assertion olddata["729"] === imgdata2.data["729"] (got 16[number], expected 15[number])
  • Failed assertion olddata["733"] === imgdata2.data["733"] (got 16[number], expected 15[number])
  • Failed assertion olddata["734"] === imgdata2.data["734"] (got 166[number], expected 165[number])
  • Failed assertion olddata["736"] === imgdata2.data["736"] (got 183[number], expected 182[number])
  • Failed assertion olddata["738"] === imgdata2.data["738"] (got 190[number], expected 189[number])
  • Failed assertion olddata["741"] === imgdata2.data["741"] (got 20[number], expected 19[number])
  • Failed assertion olddata["753"] === imgdata2.data["753"] (got 25[number], expected 24[number])
  • Failed assertion olddata["757"] === imgdata2.data["757"] (got 25[number], expected 24[number])
  • Failed assertion olddata["766"] === imgdata2.data["766"] (got 97[number], expected 96[number])
  • Failed assertion olddata["773"] === imgdata2.data["773"] (got 31[number], expected 30[number])
  • Failed assertion olddata["778"] === imgdata2.data["778"] (got 167[number], expected 166[number])
  • Failed assertion olddata["785"] === imgdata2.data["785"] (got 37[number], expected 36[number])
  • Failed assertion olddata["794"] === imgdata2.data["794"] (got 3[number], expected 2[number])
  • Failed assertion olddata["800"] === imgdata2.data["800"] (got 199[number], expected 198[number])
  • Failed assertion olddata["806"] === imgdata2.data["806"] (got 73[number], expected 72[number])
  • Failed assertion olddata["808"] === imgdata2.data["808"] (got 201[number], expected 200[number])
  • Failed assertion olddata["809"] === imgdata2.data["809"] (got 46[number], expected 45[number])
  • Failed assertion olddata["810"] === imgdata2.data["810"] (got 97[number], expected 96[number])
  • Failed assertion olddata["812"] === imgdata2.data["812"] (got 201[number], expected 200[number])
  • Failed assertion olddata["813"] === imgdata2.data["813"] (got 47[number], expected 46[number])
  • Failed assertion olddata["814"] === imgdata2.data["814"] (got 119[number], expected 118[number])
  • Failed assertion olddata["817"] === imgdata2.data["817"] (got 48[number], expected 47[number])
  • Failed assertion olddata["828"] === imgdata2.data["828"] (got 206[number], expected 205[number])
  • Failed assertion olddata["834"] === imgdata2.data["834"] (got 237[number], expected 236[number])
  • Failed assertion olddata["838"] === imgdata2.data["838"] (got 4[number], expected 3[number])
  • Failed assertion olddata["840"] === imgdata2.data["840"] (got 209[number], expected 208[number])
  • Failed assertion olddata["849"] === imgdata2.data["849"] (got 61[number], expected 60[number])
  • Failed assertion olddata["850"] === imgdata2.data["850"] (got 74[number], expected 73[number])
  • Failed assertion olddata["852"] === imgdata2.data["852"] (got 212[number], expected 211[number])
  • Failed assertion olddata["857"] === imgdata2.data["857"] (got 64[number], expected 63[number])
  • Failed assertion olddata["858"] === imgdata2.data["858"] (got 120[number], expected 119[number])
  • Failed assertion olddata["864"] === imgdata2.data["864"] (got 215[number], expected 214[number])
  • Failed assertion olddata["865"] === imgdata2.data["865"] (got 67[number], expected 66[number])
  • Failed assertion olddata["876"] === imgdata2.data["876"] (got 218[number], expected 217[number])
  • Failed assertion olddata["882"] === imgdata2.data["882"] (got 5[number], expected 4[number])
  • Failed assertion olddata["886"] === imgdata2.data["886"] (got 28[number], expected 27[number])
  • Failed assertion olddata["890"] === imgdata2.data["890"] (got 51[number], expected 50[number])
  • Failed assertion olddata["892"] === imgdata2.data["892"] (got 222[number], expected 221[number])
  • Failed assertion olddata["893"] === imgdata2.data["893"] (got 76[number], expected 75[number])
  • Failed assertion olddata["894"] === imgdata2.data["894"] (got 74[number], expected 73[number])
  • Failed assertion olddata["901"] === imgdata2.data["901"] (got 80[number], expected 79[number])
  • Failed assertion olddata["902"] === imgdata2.data["902"] (got 121[number], expected 120[number])
  • Failed assertion olddata["905"] === imgdata2.data["905"] (got 82[number], expected 81[number])
  • Failed assertion olddata["908"] === imgdata2.data["908"] (got 226[number], expected 225[number])
  • Failed assertion olddata["918"] === imgdata2.data["918"] (got 214[number], expected 213[number])
  • Failed assertion olddata["921"] === imgdata2.data["921"] (got 87[number], expected 86[number])
  • Failed assertion olddata["924"] === imgdata2.data["924"] (got 230[number], expected 229[number])
  • Failed assertion olddata["925"] === imgdata2.data["925"] (got 89[number], expected 88[number])
  • Failed assertion olddata["928"] === imgdata2.data["928"] (got 231[number], expected 230[number])
  • Failed assertion olddata["929"] === imgdata2.data["929"] (got 91[number], expected 90[number])
  • Failed assertion olddata["930"] === imgdata2.data["930"] (got 28[number], expected 27[number])
  • Failed assertion olddata["934"] === imgdata2.data["934"] (got 51[number], expected 50[number])
  • Failed assertion olddata["941"] === imgdata2.data["941"] (got 95[number], expected 94[number])
  • Failed assertion olddata["945"] === imgdata2.data["945"] (got 97[number], expected 96[number])
  • Failed assertion olddata["948"] === imgdata2.data["948"] (got 236[number], expected 235[number])
  • Failed assertion olddata["950"] === imgdata2.data["950"] (got 145[number], expected 144[number])
  • Failed assertion olddata["952"] === imgdata2.data["952"] (got 237[number], expected 236[number])
  • Failed assertion olddata["954"] === imgdata2.data["954"] (got 168[number], expected 167[number])
  • Failed assertion olddata["956"] === imgdata2.data["956"] (got 238[number], expected 237[number])
  • Failed assertion olddata["957"] === imgdata2.data["957"] (got 101[number], expected 100[number])
  • Failed assertion olddata["958"] === imgdata2.data["958"] (got 191[number], expected 190[number])
  • Failed assertion olddata["969"] === imgdata2.data["969"] (got 106[number], expected 105[number])
  • Failed assertion olddata["980"] === imgdata2.data["980"] (got 244[number], expected 243[number])
  • Failed assertion olddata["981"] === imgdata2.data["981"] (got 110[number], expected 109[number])
  • Failed assertion olddata["984"] === imgdata2.data["984"] (got 245[number], expected 244[number])
  • Failed assertion olddata["986"] === imgdata2.data["986"] (got 98[number], expected 97[number])
  • Failed assertion olddata["988"] === imgdata2.data["988"] (got 246[number], expected 245[number])
  • Failed assertion olddata["989"] === imgdata2.data["989"] (got 112[number], expected 111[number])
  • Failed assertion olddata["992"] === imgdata2.data["992"] (got 247[number], expected 246[number])
  • Failed assertion olddata["993"] === imgdata2.data["993"] (got 115[number], expected 114[number])
  • Failed assertion olddata["994"] === imgdata2.data["994"] (got 145[number], expected 144[number])
  • Failed assertion olddata["996"] === imgdata2.data["996"] (got 248[number], expected 247[number])
  • Failed assertion olddata["998"] === imgdata2.data["998"] (got 168[number], expected 167[number])
  • Failed assertion olddata["1000"] === imgdata2.data["1000"] (got 249[number], expected 248[number])
  • Failed assertion olddata["1001"] === imgdata2.data["1001"] (got 118[number], expected 117[number])
  • Failed assertion olddata["1002"] === imgdata2.data["1002"] (got 192[number], expected 191[number])
  • Failed assertion olddata["1004"] === imgdata2.data["1004"] (got 250[number], expected 249[number])
  • Failed assertion olddata["1008"] === imgdata2.data["1008"] (got 251[number], expected 250[number])
  • Failed assertion olddata["1009"] === imgdata2.data["1009"] (got 121[number], expected 120[number])
  • Failed assertion olddata["1010"] === imgdata2.data["1010"] (got 238[number], expected 237[number])
  • Failed assertion olddata["1012"] === imgdata2.data["1012"] (got 252[number], expected 251[number])
  • Failed assertion olddata["1016"] === imgdata2.data["1016"] (got 253[number], expected 252[number])
  • Failed assertion olddata["1017"] === imgdata2.data["1017"] (got 124[number], expected 123[number])
  • Passed
# 2d.imageData.put.unaffected
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.put.clip
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.imageData.put.path
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.text.font.parse.basic
  • Failed assertion ctx.font === '20px serif' (got 20PX SERIF[string], expected 20px serif[string])
  • Passed
  • Failed assertion ctx.font === '20px serif' (got 20PX SERIF[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 20PX SERIF[string], expected 20px serif[string])
# 2d.text.font.parse.complex
  • Failed assertion ctx.font === 'italic small-caps 12px "Unknown Font", sans-serif' (got small-caps italic 400 12px/2 Unknown Font, sans-serif[string], expected italic small-caps 12px "Unknown Font", sans-serif[string])
  • Passed
  • Failed assertion ctx.font === 'italic small-caps 12px "Unknown Font", sans-serif' (got small-caps italic 400 12px/2 Unknown Font, sans-serif[string], expected italic small-caps 12px "Unknown Font", sans-serif[string])
  • Failed assertion ctx.font === 'italic small-caps 12px "Unknown Font", sans-serif' (got small-caps italic 400 12px/2 Unknown Font, sans-serif[string], expected italic small-caps 12px "Unknown Font", sans-serif[string])
# 2d.text.font.parse.size.percentage
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
  • Failed assertion ctx.font === '72px serif' (got 50% serif[string], expected 72px serif[string])
# 2d.text.font.parse.size.percentage.default
  • Failed assertion ctx.font === '100px serif' (got 1000% serif[string], expected 100px serif[string])
  • Failed assertion ctx.font === '100px serif' (got 1000% serif[string], expected 100px serif[string])
  • Failed assertion ctx.font === '100px serif' (got 1000% serif[string], expected 100px serif[string])
  • Failed assertion ctx.font === '100px serif' (got 1000% serif[string], expected 100px serif[string])
# 2d.text.font.parse.system
  • Failed assertion ctx.font !== 'message-box' (got message-box[string], expected not message-box[string])
  • Failed assertion ctx.font !== 'message-box' (got message-box[string], expected not message-box[string])
  • Failed assertion ctx.font !== 'message-box' (got message-box[string], expected not message-box[string])
  • Failed assertion ctx.font !== 'message-box' (got message-box[string], expected not message-box[string])
# 2d.text.font.parse.invalid
  • Failed assertion ctx.font === '20px serif' (got bogus[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got inherit[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px {bogus}[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px initial[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px default[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px inherit[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px "initial"[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px "default"[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got inherit[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px initial[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px default[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px inherit[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got bogus[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got inherit[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px {bogus}[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px initial[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px default[string], expected 20px serif[string])
  • Failed assertion ctx.font === '20px serif' (got 10px inherit[string], expected 20px serif[string])
# 2d.text.font.default
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.font === '10px sans-serif' (got [undefined], expected 10px sans-serif[string])
# 2d.text.align.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.text.align.invalid
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMCanvasRenderingContext2D.textAlign]
  • Failed assertion ctx.textAlign === 'start' (got end[string], expected start[string])
  • Passed
  • Failed assertion ctx.textAlign === 'start' (got bogus[string], expected start[string])
  • Failed assertion ctx.textAlign === 'start' (got END[string], expected start[string])
  • Failed assertion ctx.textAlign === 'start' (got end [string], expected start[string])
  • Failed assertion ctx.textAlign === 'start' (got end[string], expected start[string])
# 2d.text.align.default
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.textAlign === 'start' (got [undefined], expected start[string])
# 2d.text.baseline.valid
  • Passed
  • Passed
  • Passed
  • Passed
# 2d.text.baseline.invalid
  • Aborted with exception: Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMCanvasRenderingContext2D.textBaseline]
  • Failed assertion ctx.textBaseline === 'top' (got middle[string], expected top[string])
  • Passed
  • Failed assertion ctx.textBaseline === 'top' (got bogus[string], expected top[string])
  • Failed assertion ctx.textBaseline === 'top' (got MIDDLE[string], expected top[string])
  • Failed assertion ctx.textBaseline === 'top' (got middle [string], expected top[string])
  • Failed assertion ctx.textBaseline === 'top' (got middle[string], expected top[string])
# 2d.text.baseline.default
  • Passed
  • Passed
  • Passed
  • Failed assertion ctx.textBaseline === 'alphabetic' (got [undefined], expected alphabetic[string])
# 2d.text.draw.fill.basic
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.unaffected
  • Passed
  • Passed
  • Passed
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.rtl
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.maxWidth.large
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.maxWidth.small
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.maxWidth.zero
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.stroke.basic
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.stroke.unaffected
  • Passed
  • Passed
  • Passed
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.kern.consistent
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Cannot automatically verify result
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.maxWidth.fontface
  • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
  • Passed
  • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
  • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fill.maxWidth.bound
  • Passed
  • Passed
  • Passed
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fontface
  • Passed
  • Passed
  • Passed
  • Aborted with exception: Attempt to use a non-function object or a value as a function.
# 2d.text.draw.fontface.repeat
          # 2d.text.draw.fontface.notinpage
          • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 [159,96,0,255] at (75,25), expected [0,255,0,255] +/- 2
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.baseline.top
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (95,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.baseline.bottom
          • Passed
          • 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.baseline.middle
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (95,5), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.baseline.alphabetic
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.baseline.ideographic
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (95,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.baseline.hanging
          • 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (5,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (5,45), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [254,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.left
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.right
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.start.ltr
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.start.rtl
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.end.ltr
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (95,5), 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 (75,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.end.rtl
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.align.center
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (95,5), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (95,45), expected [0,255,0,255] +/- 2
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.space.basic
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.space.collapse.space
          • 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 (25,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.space.collapse.other
          • 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 (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 (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 (75,25), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.space.collapse.nonspace
          • Passed
          • 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 (75,25), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.space.collapse.start
          • 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 (25,25), expected [0,255,0,255] +/- 2
          • Failed assertion: got pixel [255,0,0,255] at (25,25), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.draw.space.collapse.end
          • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
          • Passed
          • Failed assertion: got pixel [255,0,0,255] at (75,25), expected [0,255,0,255] +/- 2
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.measure.width.basic
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.measure.width.empty
          • Passed
          • Passed
          • Passed
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          # 2d.text.measure.width.space
          • Failed assertion ctx.measureText('A B').width === 150 (got 200[number], expected 150[number])
          • Failed assertion ctx.measureText('A \x09\x0a\x0c\x0d \x09\x0a\x0c\x0dB').width === 150 (got 650[number], expected 150[number])
          • Failed assertion ctx.measureText(' AB').width === 100 (got 150[number], expected 100[number])
          • Failed assertion ctx.measureText('AB ').width === 100 (got 150[number], expected 100[number])
          • Failed assertion ctx.measureText('A B').width === 150 (got 200[number], expected 150[number])
          • Failed assertion ctx.measureText('A \x09\x0a\x0c\x0d \x09\x0a\x0c\x0dB').width === 150 (got 650[number], expected 150[number])
          • Failed assertion ctx.measureText(' AB').width === 100 (got 150[number], expected 100[number])
          • Failed assertion ctx.measureText('AB ').width === 100 (got 150[number], expected 100[number])
          • Failed assertion ctx.measureText('A B').width === 150 (got 200[number], expected 150[number])
          • Failed assertion ctx.measureText('A \x09\x0a\x0c\x0d \x09\x0a\x0c\x0dB').width === 150 (got 450[number], expected 150[number])
          • Failed assertion ctx.measureText(' AB').width === 100 (got 150[number], expected 100[number])
          • Failed assertion ctx.measureText('AB ').width === 100 (got 150[number], expected 100[number])
          • Aborted with exception: Attempt to use a non-function object or a value as a function.
          Passes 75.4% 79.2% 74.2% 70.4%
          Firefox 3.7 alpha (20100227; Linux) Opera 10.50 alpha (6234; Linux) Chromium 5.0.308.0 (Linux) Konqueror 4.3.3 (Linux)