Test Opera/9.21 (X11; Linux i686; U; en) (?) Opera/9.50 (J2ME/MIDP; Opera Mini/4.0.8439/20; U; en) (?)
fallback.basic
  • Failed assertion canvas.childNodes.length == 1 (got 0[number], expected 1[number])
  • Failed assertion canvas.childNodes.length == 1 (got 0[number], expected 1[number])
fallback.multiple
  • Failed assertion canvas.childNodes.length == 2 (got 0[number], expected 2[number])
  • Failed assertion canvas.childNodes.length == 2 (got 0[number], expected 2[number])
fallback.nested
  • Failed assertion canvas.childNodes.length == 2 (got 0[number], expected 2[number])
  • Failed assertion canvas.childNodes.length == 2 (got 0[number], expected 2[number])
type.name
  • Passed
  • Passed
type.exists
  • Passed
  • Passed
type.delete
  • Failed assertion: window.HTMLCanvasElement
  • Failed assertion: window.HTMLCanvasElement
type.prototype
  • Passed
  • Passed
type.replace
  • Passed
  • Passed
type.extend
  • Passed
  • Passed
size.attributes
  • Passed
  • Passed
size.attributes.type.get
  • Passed
  • Passed
size.attributes.type.set
  • Passed
  • Passed
size.attributes.default
  • Passed
  • Passed
size.attributes.reflect.1
  • Failed assertion canvas.getAttribute('width') == '120' (got 100[string], expected 120[string])
  • Failed assertion canvas.getAttribute('height') == '60' (got 50[string], expected 60[string])
  • Failed assertion canvas.getAttribute('width') == '120' (got 100[string], expected 120[string])
  • Failed assertion canvas.getAttribute('height') == '60' (got 50[string], expected 60[string])
size.attributes.reflect.2
  • Failed assertion canvas.width == 120 (got 100[number], expected 120[number])
  • Failed assertion canvas.height == 60 (got 50[number], expected 60[number])
  • Failed assertion canvas.width == 120 (got 100[number], expected 120[number])
  • Failed assertion canvas.height == 60 (got 50[number], expected 60[number])
size.attributes.removed
  • Failed assertion canvas.width == 300 (got 120[number], expected 300[number])
  • Failed assertion canvas.width == 300 (got 120[number], expected 300[number])
size.attributes.parse.whitespace
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
size.attributes.parse.nonnumber
  • Failed assertion canvas.width == 300 (got 50[number], expected 300[number])
  • Failed assertion canvas.width == 300 (got 50[number], expected 300[number])
size.attributes.parse.zero
  • Failed assertion canvas.width == 0 (got 50[number], expected 0[number])
  • Failed assertion canvas.width == 0 (got 50[number], expected 0[number])
size.attributes.parse.negative
  • Failed assertion canvas.width == 300 (got 50[number], expected 300[number])
  • Failed assertion canvas.width == 300 (got 50[number], expected 300[number])
size.attributes.parse.floatsuffix.zero
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
size.attributes.parse.floatsuffix.nonzero
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
size.attributes.parse.badsuffix
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
  • Failed assertion canvas.width == 100 (got 50[number], expected 100[number])
size.attributes.style
  • Passed
  • Passed
initial.colour
  • Passed
  • Passed
initial.reset.different
  • Passed
  • Passed
initial.reset.same
  • Passed
  • Passed
initial.reset.security
  • Passed
  • Passed
initial.reset.path
  • Passed
  • Passed
initial.reset.clip
  • Passed
  • Passed
initial.reset.transform
  • Passed
  • Passed
initial.reset.gradient
  • Passed
  • Passed
initial.reset.pattern
  • Failed assertion: got pixel [0,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]
context.empty
  • Passed
  • Passed
context.unrecognised.badname
  • Passed
  • Passed
context.unrecognised.badsuffix
  • Passed
  • Passed
context.unrecognised.nullsuffix
  • Failed assertion canvas.getContext("2d\0") === null (got [object CanvasRenderingContext2D][object], expected [object])
  • Failed assertion canvas.getContext("2d\0") === null (got [object CanvasRenderingContext2D][object], expected [object])
context.unrecognised.unicode
  • Passed
  • Passed
context.casesensitive
  • Passed
  • Passed
toDataURL.default
  • Passed
  • Passed
toDataURL.png
  • Passed
  • Passed
toDataURL.unrecognised
  • Passed
  • Passed
toDataURL.lowercase
  • Passed
  • Passed
toDataURL.arguments.1
  • Passed
  • Passed
toDataURL.arguments.2
  • Passed
  • Passed
toDataURL.arguments.3
  • Passed
  • Passed
toDataURL.nocontext
  • Aborted with exception: Statement on line 69: Could not convert undefined or null to objectBacktrace: Line 69 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js if (! a.match(b)) Line 6 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.toDataURL.nocontext.html _assertMatch(data, /^data:image\/png[;,]/, "data", "/^data:image\\/png[;,]/"); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
  • Aborted with exception: Statement on line 69: Cannot convert undefined or null to ObjectBacktrace: Line 69 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js: In function _assertMatch if (! a.match(b)) Line 6 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.toDataURL.nocontext.html _assertMatch(data, /^data:image\/png[;,]/, "data", "/^data:image\\/png[;,]/"); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); ...
toDataURL.primarycolours
  • Cannot automatically verify result
    toDataURL.complexcolours
    • Cannot automatically verify result
      toDataURL.security.domain
      • Passed
      • Passed
      toDataURL.security.pattern
      • Passed
      • Passed
      toDataURL.security.propagate
      • Passed
      • Passed
      toDataURL.security.propagate2
      • Passed
      • Passed
      toDataURL.security.subdomain
      • Cannot automatically verify result
        toDataURL.security.superdomain
        • Cannot automatically verify result
          2d.getcontext.exists
          • Passed
          • Passed
          2d.type.name
          • Passed
          • Passed
          2d.type.exists
          • Passed
          • Passed
          2d.type.delete
          • Failed assertion window.CanvasRenderingContext2D !== undefined (got [undefined], expected not [undefined])
          • Failed assertion window.CanvasRenderingContext2D !== undefined (got [undefined], expected not [undefined])
          2d.type.prototype
          • Passed
          • Passed
          2d.type.replace
          • Passed
          • Passed
          2d.type.extend
          • Passed
          • Passed
          2d.getcontext.unique
          • Failed assertion canvas.getContext('2d') === canvas.getContext('2d') (got [object CanvasRenderingContext2D][object], expected [object CanvasRenderingContext2D][object])
          • Failed assertion canvas.getContext('2d') === canvas.getContext('2d') (got [object CanvasRenderingContext2D][object], expected [object CanvasRenderingContext2D][object])
          2d.getcontext.shared
          • Passed
          • Passed
          2d.voidreturn
          • Passed
          • Passed
          2d.coordinatespace
          • Cannot automatically verify result
            2d.canvas.reference
            • Passed
            • Passed
            2d.canvas.readonly
            • Passed
            • Passed
            2d.state.saverestore.strokeStyle
            • Passed
            • Passed
            2d.state.saverestore.fillStyle
            • Passed
            • Passed
            2d.state.saverestore.globalAlpha
            • Passed
            • Passed
            2d.state.saverestore.lineWidth
            • Passed
            • Passed
            2d.state.saverestore.lineCap
            • Passed
            • Passed
            2d.state.saverestore.lineJoin
            • Passed
            • Passed
            2d.state.saverestore.miterLimit
            • Passed
            • Passed
            2d.state.saverestore.shadowOffsetX
            • Passed
            • Passed
            2d.state.saverestore.shadowOffsetY
            • Passed
            • Passed
            2d.state.saverestore.shadowBlur
            • Passed
            • Passed
            2d.state.saverestore.shadowColor
            • Passed
            • Failed assertion ctx.shadowColor === old (got rgba(0, 0, 0, 〠늿㱸[string], expected rgba(0, 0, 0, 〠뼀)[string])
            2d.state.saverestore.globalCompositeOperation
            • Passed
            • Passed
            initial.reset.2dstate
            • Passed
            • Passed
            2d.state.saverestore.transformation
            • Passed
            • Passed
            2d.state.saverestore.clip
            • Passed
            • Passed
            2d.state.saverestore.path
            • Passed
            • Passed
            2d.state.saverestore.bitmap
            • Passed
            • Passed
            2d.state.saverestore.stack
            • Passed
            • Passed
            2d.state.saverestore.stackdepth
            • Passed
            • Passed
            2d.state.saverestore.underflow
            • Passed
            • Passed
            2d.transformation.order
            • Passed
            • Passed
            2d.transformation.scale.basic
            • Passed
            • Passed
            2d.transformation.scale.zero
            • Passed
            • Passed
            2d.transformation.scale.negative
            • Passed
            • Passed
            2d.transformation.scale.large
            • Passed
            • Passed
            2d.transformation.scale.infinity
            • Passed
            • Passed
            2d.transformation.scale.neginfinity
            • Passed
            • Passed
            2d.transformation.scale.nan
            • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale(NaN, NaN)
            • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.scale(NaN, NaN)
            2d.transformation.scale.multiple
            • Passed
            • Passed
            2d.transformation.rotate.zero
            • Passed
            • Passed
            2d.transformation.rotate.radians
            • Passed
              2d.transformation.rotate.direction
              • Passed
                2d.transformation.rotate.wrap
                • Passed
                • Passed
                2d.transformation.rotate.wrapnegative
                • Passed
                • Passed
                2d.transformation.rotate.infinity
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(Infinity)
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(Infinity)
                2d.transformation.rotate.neginfinity
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(-Infinity)
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(-Infinity)
                2d.transformation.rotate.nan
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(NaN)
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.rotate(NaN)
                2d.transformation.translate.basic
                • Passed
                • Passed
                2d.transformation.translate.infinity
                • Passed
                • Passed
                2d.transformation.translate.nan
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.translate(NaN, 0)
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.translate(NaN, 0)
                2d.transformation.transform.identity
                • Aborted with exception: Statement on line 7: Type mismatch (usually a non-object value used where an object is required)Backtrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.transformation.transform.identity.html ctx.transform(1, 0, 0, 1, 0, 0); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                • Passed
                2d.transformation.transform.skewed
                • Aborted with exception: Statement on line 13: Type mismatch (usually a non-object value used where an object is required)Backtrace: Line 13 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.transformation.transform.skewed.html ctx.transform(1, 4, 2, 3, 5, 6); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                • Passed
                2d.transformation.transform.multiply
                • Aborted with exception: Statement on line 7: Type mismatch (usually a non-object value used where an object is required)Backtrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.transformation.transform.multiply.html ctx.transform(1, 2, 3, 4, 5, 6); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                • Passed
                2d.transformation.transform.infinity
                • Aborted with exception: Statement on line 7: Type mismatch (usually a non-object value used where an object is required)Backtrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.transformation.transform.infinity.html ctx.transform(Infinity, 0, 0, Infinity, 0, 0); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                • Passed
                2d.transformation.setTransform.skewed
                • Aborted with exception: Statement on line 13: Type mismatch (usually a non-object value used where an object is required)Backtrace: Line 13 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.transformation.setTransform.skewed.html ctx.setTransform(1, 4, 2, 3, 5, 6); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                • Passed
                2d.transformation.setTransform.multiple
                • Aborted with exception: Statement on line 7: Type mismatch (usually a non-object value used where an object is required)Backtrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.transformation.setTransform.multiple.html ctx.setTransform(1 / 2, 0, 0, 1 / 2, 0, 0); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                • Passed
                2d.composite.globalAlpha.range
                • Passed
                • Passed
                2d.composite.globalAlpha.invalid
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = Infinity
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = -Infinity
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = NaN
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = Infinity
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = -Infinity
                • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.globalAlpha = NaN
                2d.composite.globalAlpha.default
                • Passed
                • Passed
                2d.composite.globalAlpha.fill
                • Passed
                • Passed
                2d.composite.globalAlpha.image
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [2,253,0,255] +/- 2
                • Passed
                2d.composite.globalAlpha.canvas
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [2,253,0,255] +/- 2
                • Passed
                2d.composite.globalAlpha.imagepattern
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [2,253,0,255] +/- 2
                • Passed
                2d.composite.globalAlpha.canvaspattern
                • Failed assertion: got pixel [0,0,0,255] at (50,25), expected [2,253,0,255] +/- 2
                • Passed
                2d.composite.solid.source-over
                • Passed
                • Passed
                2d.composite.solid.destination-over
                • Passed
                • Passed
                2d.composite.solid.source-in
                • Passed
                • Passed
                2d.composite.solid.destination-in
                • Passed
                • Passed
                2d.composite.solid.source-out
                • Passed
                • Passed
                2d.composite.solid.destination-out
                • Passed
                • Passed
                2d.composite.solid.source-atop
                • Passed
                • Passed
                2d.composite.solid.destination-atop
                • Passed
                • Passed
                2d.composite.solid.xor
                • Passed
                • Passed
                2d.composite.solid.copy
                • Passed
                • Passed
                2d.composite.solid.lighter
                • Passed
                • Passed
                2d.composite.transparent.source-over
                • Passed
                • Passed
                2d.composite.transparent.destination-over
                • Passed
                • Passed
                2d.composite.transparent.source-in
                • Passed
                • Passed
                2d.composite.transparent.destination-in
                • Passed
                • Passed
                2d.composite.transparent.source-out
                • Passed
                • Passed
                2d.composite.transparent.destination-out
                • Passed
                • Passed
                2d.composite.transparent.source-atop
                • Failed assertion: got pixel [0,126,128,127] at (50,25), expected [0,63,191,127] +/- 5
                • Failed assertion: got pixel [0,126,128,127] at (50,25), expected [0,63,191,127] +/- 5
                2d.composite.transparent.destination-atop
                • Failed assertion: got pixel [0,64,190,191] at (50,25), expected [0,127,127,191] +/- 5
                • Failed assertion: got pixel [0,64,190,191] at (50,25), expected [0,127,127,191] +/- 5
                2d.composite.transparent.xor
                • Failed assertion: got pixel [0,63,127,127] at (50,25), expected [0,63,191,127] +/- 5
                • Failed assertion: got pixel [0,63,127,127] at (50,25), expected [0,63,191,127] +/- 5
                2d.composite.transparent.copy
                • Passed
                • Passed
                2d.composite.transparent.lighter
                • Failed assertion: got pixel [0,255,255,224] at (50,25), expected [0,127,191,255] +/- 5
                • Failed assertion: got pixel [0,144,217,224] at (50,25), expected [0,127,191,255] +/- 5
                2d.composite.image.source-over
                • Passed
                • Passed
                2d.composite.image.destination-over
                • Passed
                • Passed
                2d.composite.image.source-in
                • Passed
                • Passed
                2d.composite.image.destination-in
                • Passed
                • Passed
                2d.composite.image.source-out
                • Passed
                • Passed
                2d.composite.image.destination-out
                • Passed
                • Passed
                2d.composite.image.source-atop
                • Failed assertion: got pixel [128,255,126,127] at (50,25), expected [191,255,63,127] +/- 5
                • Failed assertion: got pixel [128,255,126,127] at (50,25), expected [191,255,63,127] +/- 5
                2d.composite.image.destination-atop
                • Failed assertion: got pixel [190,255,64,191] at (50,25), expected [127,255,127,191] +/- 5
                • Failed assertion: got pixel [190,255,64,191] at (50,25), expected [127,255,127,191] +/- 5
                2d.composite.image.xor
                • Failed assertion: got pixel [127,191,63,127] at (50,25), expected [191,255,63,127] +/- 5
                • Failed assertion: got pixel [127,191,63,127] at (50,25), expected [191,255,63,127] +/- 5
                2d.composite.image.copy
                • Passed
                • Passed
                2d.composite.image.lighter
                • Failed assertion: got pixel [255,255,255,224] at (50,25), expected [191,255,127,255] +/- 5
                • Failed assertion: got pixel [217,255,144,224] at (50,25), expected [191,255,127,255] +/- 5
                2d.composite.uncovered.fill.source-in
                • Passed
                • Passed
                2d.composite.uncovered.fill.destination-in
                • Passed
                • Passed
                2d.composite.uncovered.fill.source-out
                • Passed
                • Passed
                2d.composite.uncovered.fill.destination-atop
                • Passed
                • Passed
                2d.composite.uncovered.fill.copy
                • Passed
                • Passed
                2d.composite.uncovered.image.source-in
                • Passed
                • Passed
                2d.composite.uncovered.image.destination-in
                • Passed
                • Passed
                2d.composite.uncovered.image.source-out
                • Passed
                • Passed
                2d.composite.uncovered.image.destination-atop
                • Passed
                • Passed
                2d.composite.uncovered.image.copy
                • Passed
                • Passed
                2d.composite.uncovered.pattern.source-in
                • Passed
                • Passed
                2d.composite.uncovered.pattern.destination-in
                • Passed
                • Passed
                2d.composite.uncovered.pattern.source-out
                • Passed
                • Passed
                2d.composite.uncovered.pattern.destination-atop
                • Passed
                • Passed
                2d.composite.uncovered.pattern.copy
                • Passed
                • Passed
                2d.composite.operation.get
                • Passed
                • Passed
                2d.composite.operation.unrecognised
                • Passed
                • Passed
                2d.composite.operation.darker
                • Failed assertion ctx.globalCompositeOperation == 'xor' (got darker[string], expected xor[string])
                • Failed assertion ctx.globalCompositeOperation == 'xor' (got darker[string], expected xor[string])
                2d.composite.operation.over
                • Passed
                • Passed
                2d.composite.operation.clear
                • Passed
                • Passed
                2d.composite.operation.highlight
                • Passed
                • Passed
                2d.composite.operation.nullsuffix
                • Failed assertion ctx.globalCompositeOperation == 'xor' (got source-over[string], expected xor[string])
                • Failed assertion ctx.globalCompositeOperation == 'xor' (got source-over[string], expected xor[string])
                2d.composite.operation.casesensitive
                • Passed
                • Passed
                2d.composite.operation.default
                • Passed
                • Passed
                2d.fillStyle.parse.html4
                • Passed
                • Passed
                2d.fillStyle.parse.hex-3
                • Passed
                • Passed
                2d.fillStyle.parse.hex-6
                • Passed
                • Passed
                2d.fillStyle.parse.rgb-num
                • Passed
                • Passed
                2d.fillStyle.parse.rgb-clamp
                • Passed
                • Passed
                2d.fillStyle.parse.rgb-percent
                • Passed
                • Passed
                2d.fillStyle.parse.rgba-solid-1
                • Passed
                • Failed assertion: got pixel [0,255,0,1] at (50,25), expected [0,255,0,255]
                2d.fillStyle.parse.rgba-solid-2
                • Passed
                • Passed
                2d.fillStyle.parse.rgba-num-1
                • Passed
                • Passed
                2d.fillStyle.parse.rgba-num-2
                • Passed
                • Passed
                2d.fillStyle.parse.rgba-percent
                • Passed
                • Passed
                2d.fillStyle.parse.transparent-1
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
                2d.fillStyle.parse.transparent-2
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
                2d.fillStyle.parse.hsl-1
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                2d.fillStyle.parse.hsl-2
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                2d.fillStyle.parse.hsl-3
                • 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.fillStyle.parse.hsl-4
                • 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.fillStyle.parse.hsla
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,127]
                • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,127]
                2d.fillStyle.parse.svg-1
                • Passed
                • Passed
                2d.fillStyle.parse.svg-2
                • Passed
                  2d.fillStyle.parse.current
                  • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                    2d.fillStyle.parse.system
                    • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #FF0000[string])
                    • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #FF0000[string])
                    2d.fillStyle.parse.flavor
                    • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #FF0000[string])
                    • Failed assertion ctx.fillStyle matches /^#(?!(FF0000|ff0000|f00)$)/ (got #FF0000[string])
                    2d.fillStyle.invalidstring
                    • Passed
                    • Passed
                    2d.fillStyle.invalidtype
                    • Passed
                    • Passed
                    2d.fillStyle.get.solid
                    • Failed assertion ctx.fillStyle === '#ffaa00' (got #FFAA00[string], expected #ffaa00[string])
                    • Failed assertion ctx.fillStyle === '#ffaa00' (got #FFAA00[string], expected #ffaa00[string])
                    2d.fillStyle.get.semitransparent
                    • Passed
                    • Failed assertion ctx.fillStyle matches /^rgba\(255, 255, 255, 0\.4\d+\)$/ (got rgba(255, 255, 255, 〠㐮㜴㔰9뾇䁬뾇䍬)[string])
                    2d.fillStyle.get.transparent
                    • Failed assertion ctx.fillStyle == 'rgba(0, 0, 0, 0.0)' (got rgba(0, 0, 0, 0)[string], expected rgba(0, 0, 0, 0.0)[string])
                    • Failed assertion ctx.fillStyle == 'rgba(0, 0, 0, 0.0)' (got rgba(0, 0, 0, 〠뼀)[string], expected rgba(0, 0, 0, 0.0)[string])
                    2d.fillStyle.default
                    • Passed
                    • Passed
                    2d.strokeStyle.default
                    • Passed
                    • Passed
                    2d.gradient.object.return
                    • Passed
                    • Passed
                    2d.gradient.interpolate.solid
                    • Passed
                    • Passed
                    2d.gradient.interpolate.colour
                    • Passed
                    • Passed
                    2d.gradient.interpolate.alpha
                    • Passed
                    • Failed assertion: got pixel [255,255,0,255] at (25,25), expected [191,191,63,255] +/- 2
                    • Failed assertion: got pixel [255,255,0,255] at (50,25), expected [127,127,127,255] +/- 2
                    • Failed assertion: got pixel [255,255,0,255] at (75,25), expected [63,63,191,255] +/- 2
                    2d.gradient.interpolate.colouralpha
                    • Passed
                    • Failed assertion: got pixel [0,0,0,0] at (25,25), expected [191,191,63,63] +/- 2
                    • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [127,127,127,127] +/- 2
                    • Failed assertion: got pixel [0,0,0,0] at (75,25), expected [63,63,191,191] +/- 2
                    2d.gradient.interpolate.outside
                    • Failed assertion: got pixel [255,0,0,255] at (20,25), expected [0,255,0,255] +/- 2
                    • Failed assertion: got pixel [255,0,0,255] at (80,25), expected [0,255,0,255] +/- 2
                    • Failed assertion: got pixel [255,0,0,255] at (20,25), expected [0,255,0,255] +/- 2
                    • Failed assertion: got pixel [255,0,0,255] at (80,25), expected [0,255,0,255] +/- 2
                    2d.gradient.interpolate.zerosize
                    • Passed
                    • Passed
                    2d.gradient.interpolate.vertical
                    • Passed
                    • Passed
                    2d.gradient.interpolate.multiple
                    • Passed
                    • Passed
                    2d.gradient.interpolate.overlap
                    • Passed
                    • Passed
                    2d.gradient.interpolate.overlap2
                    • Passed
                    • Passed
                    2d.gradient.empty
                    • Passed
                    • Passed
                    2d.gradient.object.update
                    • Passed
                    • Passed
                    2d.gradient.object.compare
                    • Passed
                    • Passed
                    2d.gradient.object.invalidoffset
                    • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERRBacktrace: Line 12 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.gradient.object.invalidoffset.html g.addColorStop(Infinity, "#000"); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                    • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERRBacktrace: Line 15 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.gradient.object.invalidoffset.html g.addColorStop(- Infinity, "#000"); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: g.addColorStop(NaN, '#000')
                    • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR
                    • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR
                    • Failed assertion: expected exception of type NOT_SUPPORTED_ERR, got: INDEX_SIZE_ERR
                    2d.gradient.object.invalidcolour
                    • 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, 1)
                    • Failed assertion: should throw exception of type INDEX_SIZE_ERR: ctx.createRadialGradient(0, 0, 1, 0, 0, -0.1)
                    2d.gradient.radial.invalid
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, NaN, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(Infinity, 0, 1, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, Infinity, 1, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, Infinity, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, Infinity, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, 0, Infinity, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, 1, 0, 0, Infinity)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, -Infinity, 0, 0, 1)
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.createRadialGradient(0, 0, NaN, 0, 0, 1)
                    2d.gradient.radial.inside1
                    • 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.inside2
                    • 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.inside3
                    • 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.outside1
                    • 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.outside2
                    • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
                    • 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.outside3
                    • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (50,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (1,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (98,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (50,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [255,0,0,255] at (98,48), expected [0,255,0,255]
                    • 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.touch1
                    • Passed
                    • Passed
                    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 (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 (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
                    • Passed
                    • Passed
                    2d.gradient.radial.equal
                    • Passed
                    • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                    2d.gradient.radial.cone.behind
                    • Passed
                    • Passed
                    2d.gradient.radial.cone.front
                    • 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.bottom
                    • 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.top
                    • 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.beside
                    • Passed
                    • Passed
                    2d.gradient.radial.cone.cylinder
                    • 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.shape1
                    • 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,25), 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 (98,1), 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 (98,48), expected [0,255,0,255]
                    2d.gradient.radial.cone.shape2
                    • Passed
                    • Passed
                    2d.pattern.basic.type
                    • Passed
                    • Passed
                    2d.pattern.basic.image
                    • Passed
                    • Passed
                    2d.pattern.basic.canvas
                    • Failed assertion: got pixel [0,0,0,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (50,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (1,25), expected [0,255,0,255]
                    • 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 (98,25), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (50,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,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.pattern.basic.zerocanvas
                    • Failed assertion canvas2.width === 0 (got 300[number], expected 0[number])
                    • Failed assertion canvas2.height === 0 (got 150[number], expected 0[number])
                    • Failed assertion: got pixel [0,0,0,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,48), expected [0,255,0,255]
                    • Failed assertion canvas2.width === 0 (got 300[number], expected 0[number])
                    • Failed assertion canvas2.height === 0 (got 150[number], expected 0[number])
                    2d.pattern.basic.nocontext
                    • Failed assertion: got pixel [0,0,0,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,48), expected [0,255,0,255]
                    • Passed
                    2d.pattern.image.undefined
                    • Passed
                    • Passed
                    2d.pattern.image.null
                    • Passed
                    • Passed
                    2d.pattern.image.string
                    • Passed
                    • Passed
                    2d.pattern.image.incomplete
                    • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
                    • Failed assertion: expected exception of type INVALID_STATE_ERR, got: TYPE_MISMATCH_ERRBacktrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.pattern.image.incomplete.html ctx.createPattern(img, "repeat"); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                    • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
                    • Failed assertion: expected exception of type INVALID_STATE_ERR, got: TYPE_MISMATCH_ERR
                    2d.pattern.image.broken
                    • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
                    • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(img, 'repeat')
                    • Failed assertion img.complete === false (got true[boolean], expected false[boolean])
                    • Failed assertion: should throw exception of type INVALID_STATE_ERR: ctx.createPattern(img, 'repeat')
                    2d.pattern.repeat.empty
                    • Passed
                    • Passed
                    2d.pattern.repeat.null
                    • Aborted with exception: SYNTAX_ERRBacktrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.pattern.repeat.null.html var pattern = ctx.createPattern(img, null); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                    • Aborted with exception: SYNTAX_ERR
                    2d.pattern.repeat.undefined
                    • Aborted with exception: SYNTAX_ERRBacktrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.pattern.repeat.undefined.html var pattern = ctx.createPattern(img, undefined); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                    • Aborted with exception: SYNTAX_ERR
                    2d.pattern.repeat.missing
                    • Aborted with exception: WRONG_ARGUMENTS_ERRBacktrace: Line 7 of inline#1 script in http://canvex.lazyilluminati.com/tests/20070701/tests/minimal.2d.pattern.repeat.missing.html var pattern = ctx.createPattern(img); Line 333 of linked script http://canvex.lazyilluminati.com/tests/20070701/tests.js test(canvas, ctx); At unknown location [statement source code not available]
                    • Aborted with exception: WRONG_ARGUMENTS_ERR
                    2d.pattern.repeat.unrecognised
                    • Passed
                    • Passed
                    2d.pattern.repeat.case
                    • Passed
                    • Passed
                    2d.pattern.repeat.nullsuffix
                    • Failed assertion: should throw exception of type SYNTAX_ERR: ctx.createPattern(canvas, "repeat\0")
                    • Failed assertion: should throw exception of type SYNTAX_ERR: ctx.createPattern(canvas, "repeat\0")
                    2d.pattern.modify.image1
                    • Passed
                    • Passed
                    2d.pattern.modify.image2
                    • Passed
                    • Passed
                    2d.pattern.modify.canvas1
                    • Failed assertion: got pixel [140,138,165,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,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 (98,1), 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 (98,48), expected [0,255,0,255]
                    2d.pattern.modify.canvas2
                    • Failed assertion: got pixel [140,138,33,255] at (1,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (98,1), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,0,0,255] at (1,48), expected [0,255,0,255]
                    • Failed assertion: got pixel [0,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 (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]
                    2d.pattern.paint.norepeat.basic
                    • Passed
                    • Passed
                    2d.pattern.paint.norepeat.outside
                    • Passed
                    • Passed
                    2d.pattern.paint.norepeat.coord1
                    • Passed
                    • Passed
                    2d.pattern.paint.norepeat.coord2
                    • Passed
                    • Passed
                    2d.pattern.paint.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 (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]
                    2d.pattern.paint.repeat.basic
                    • Passed
                    • Passed
                    2d.pattern.paint.repeat.outside
                    • Passed
                    • Passed
                    2d.pattern.paint.repeat.coord1
                    • Passed
                    • Passed
                    2d.pattern.paint.repeat.coord2
                    • 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
                    2d.pattern.paint.repeat.coord3
                    • Passed
                    • Passed
                    2d.pattern.paint.repeatx.basic
                    • Passed
                    • 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]
                    • 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]
                    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]
                    • 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]
                    2d.pattern.paint.repeaty.basic
                    • Passed
                    • 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]
                    • 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]
                    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]
                    • 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]
                    2d.line.defaults
                    • Passed
                    • Passed
                    2d.line.invalid.lineWidth
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = Infinity
                    • Failed assertion ctx.lineWidth === 1.5 (got Infinity[number], expected 1.5[number])
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = -Infinity
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = NaN
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = Infinity
                    • Failed assertion ctx.lineWidth === 1.5 (got Infinity[number], expected 1.5[number])
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = -Infinity
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.lineWidth = NaN
                    2d.line.invalid.lineCap
                    • Failed assertion ctx.lineCap === 'butt' (got round[string], expected butt[string])
                    • Failed assertion ctx.lineCap === 'butt' (got round[string], expected butt[string])
                    2d.line.invalid.lineJoin
                    • Failed assertion ctx.lineJoin === 'bevel' (got round[string], expected bevel[string])
                    • Failed assertion ctx.lineJoin === 'bevel' (got round[string], expected bevel[string])
                    2d.line.invalid.miterLimit
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = Infinity
                    • Failed assertion ctx.miterLimit === 1.5 (got Infinity[number], expected 1.5[number])
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = -Infinity
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = NaN
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = Infinity
                    • Failed assertion ctx.miterLimit === 1.5 (got Infinity[number], expected 1.5[number])
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = -Infinity
                    • Failed assertion: should throw exception of type NOT_SUPPORTED_ERR: ctx.miterLimit = NaN
                    2d.line.lineWidth.basic
                    • Passed
                    • Passed
                    2d.line.lineWidth.transformed
                    • Passed
                    • Passed
                    2d.line.lineCap.butt
                    • Passed
                    • Passed
                    2d.line.lineCap.round
                    • Passed
                    • Passed
                    2d.line.lineCap.square
                    • Passed
                    • Passed
                    2d.line.lineJoin.bevel
                    • Passed
                    • Passed
                    2d.line.lineJoin.round
                    • Passed
                    • Passed
                    2d.line.lineJoin.miter
                    • Passed
                    • Passed
                    2d.line.join.open
                    • Passed
                    • Passed
                    2d.line.join.closed
                    • Passed
                    • Passed
                    2d.line.join.zeroline.corner
                    • Passed
                    • Passed
                    2d.line.join.zeroline.join
                    • Passed
                      2d.line.join.parallel
                      • 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.open
                        • Passed
                        • Passed
                        2d.line.cap.closed
                        • Passed
                        • Passed
                        2d.line.cap.zeroline.round
                        • Passed
                        • Passed
                        2d.line.cap.zeroline.square
                        • Passed
                        • Passed
                        2d.line.cap.zerobezier.round
                        • Passed
                        • Passed
                        2d.line.miter.exceeded
                        • Passed
                        • Passed
                        2d.line.miter.rightangle
                        • Passed
                        • Passed
                        2d.line.miter.within
                        • Passed
                        • Passed
                        2d.line.cross
                        • 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 (48,48), expected [0,255,0,255]
                        2d.line.union
                        • Failed assertion: got pixel [255,0,0,255] at (1,1), expected [0,255,0,255]
                        • Failed assertion: got pixel [73,181,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 [73,181,0,255] at (25,1), 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 [78,176,0,255] at (25,1), expected [0,255,0,255]
                        • Failed assertion: got pixel [255,0,0,255] at (1,48), expected [0,255,0,255]
                        • Failed assertion: got pixel [78,176,0,255] at (25,1), expected [0,255,0,255]
                        2d.clearRect.negative
                        • Passed
                        • Passed
                        2d.clearRect.basic
                        • Passed
                        • Passed
                        2d.clearRect.path
                        • Passed
                        • Passed
                        2d.clearRect.zero
                        • Passed
                        • Passed
                        2d.clearRect.transform
                        • Passed
                        • Passed
                        2d.clearRect.globalalpha
                        • Passed
                        • Passed
                        2d.clearRect.globalcomposite
                        • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,0,0,0]
                        • Passed
                        2d.clearRect.clip
                        • Failed assertion: got pixel [0,255,0,254] at (50,25), expected [0,255,0,255]
                        • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
                        2d.clearRect.shadow
                        • Passed
                        • Passed
                        2d.fillRect.negative
                        • Passed
                        • Passed
                        2d.fillRect.basic
                        • Passed
                        • Passed
                        2d.fillRect.path
                        • Passed
                        • Passed
                        2d.fillRect.zero
                        • Passed
                        • Passed
                        2d.fillRect.transform
                        • Passed
                        • Passed
                        2d.fillRect.clip
                        • Passed
                        • Passed
                        2d.fillRect.shadow
                        • Passed
                        • Passed
                        2d.strokeRect.negative
                        • Passed
                        • Passed
                        2d.strokeRect.basic
                        • Passed
                        • Passed
                        2d.strokeRect.path
                        • Passed
                        • Passed
                        2d.strokeRect.zero.1
                        • Passed
                        • Passed
                        2d.strokeRect.zero.2
                        • Passed
                        • Passed
                        2d.strokeRect.zero.3
                        • Passed
                        • Passed
                        2d.strokeRect.zero.4
                        • Passed
                        • Passed
                        2d.strokeRect.zero.5
                        • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
                        • Failed assertion: got pixel [0,0,0,0] at (50,25), expected [0,255,0,255]
                        2d.strokeRect.transform
                        • Passed
                        • Passed
                        2d.strokeRect.globalalpha
                        • Passed
                        • Passed
                        2d.strokeRect.globalcomposite
                        • Passed
                        • Passed
                        2d.strokeRect.clip
                        • Passed
                        • Passed
                        2d.strokeRect.shadow
                        • Passed
                        • Passed
                        2d.path.initial
                        • Passed
                        • Passed
                        2d.path.beginPath
                        • Passed
                        • Passed
                        2d.path.moveTo.1
                        • Passed
                        • Passed
                        2d.path.moveTo.2
                        • Passed
                        • Passed
                        2d.path.closePath.1
                        • Passed
                        • Passed
                        2d.path.closePath.2
                        • Passed
                        • Passed
                        2d.path.closePath.3
                        • Passed
                        • Passed
                        misc.mozilla.353981
                        • Passed
                        • Passed
                        misc.opera.moveTo
                        • Failed assertion: got pixel [255,0,0,255] at (50,25), expected [0,255,0,255]
                        • Passed