fugafacere
Version:
A pure-JS implementation of the W3C's Canvas-2D Context API that can run on top of either Expo Graphics or a browser WebGL context.
120 lines (117 loc) • 5.51 kB
YAML
DISABLED:
- 2d.drawImage.incomplete.immediate:
- Images aren't HTML img objects
- 2d.drawImage.incomplete.removedsrc:
- Images aren't HTML img objects
- 2d.drawImage.incomplete.nosrc:
- Images aren't HTML img objects
- 2d.drawImage.incomplete.emptysrc:
- Images aren't HTML img objects
- 2d.drawImage.incomplete.reload:
- Images aren't HTML img objects
- 2d.drawImage.zerocanvas:
- TODO figure out how to rewrite this test in a way that works in expo
- 2d.drawImage.zerosource.image:
- TODO svg files aren't supported as assets right now
- 2d.drawImage.zerosource:
- TODO svg files aren't supported as assets right now
- 2d.imageData.object.ctor.array.bounds:
- Chrome's imageData implementation throws some errors as IndexSizeErrors, while the test suite expects InvalidStateErrors. Oh well, nothing we can do there.
- 2d.drawImage.animated.gif:
- Animated assets aren't supported and probably never will be
- 2d.drawImage.animated.apng:
- Animated assets aren't supported and probably never will be
- 2d.drawImage.animated.poster:
- Animated assets aren't supported and probably never will be
- 2d.drawImage.composite:
- TODO implement compositing
- 2d.drawImage.svg:
- TODO svg files aren't supported as assets right now? (or are they??)
- 2d.drawImage.broken:
- broken image loading fails long before we can get it as an asset to the 2d context
- 2d.gradient.object.return:
- window object/DOM doesn't exist
- 2d.gradient.object.type:
- window object/DOM doesn't exist
- 2d.gradient.object.current:
- no canvas object
(TODO should there be a way of grabbing style information from surrounding GLView for css value 'currentColor'??)
- 2d.pattern.basic.type:
- there is no particularly good way to get our implementation of CanvasPattern to play nice with browsers' native ones, and hence pass this test. seeing as it doesn't really confirm //anything// useful, lets just ignore it
- 2d.imageData.get.unaffected:
- TODO implement shadows and compositing
- 2d.imageData.put.unaffected:
- TODO implement shadows and compositing
- 2d.path.arc.selfintersect.1:
- arc stroking is so radically different from the reference, there is no clear way to support this edgecase
- 2d.path.stroke.prune.curve:
- chrome fails this one too, and it's unclear exactly what this means/how to do it efficiently anyway
- 2d.pattern.image.incomplete.emptysrc:
- expo assets aren't traditional DOM images, don't have src attributes
- 2d.pattern.image.incomplete.removedsrc:
- expo assets aren't traditional DOM images, don't have src attributes
- 2d.pattern.image.incomplete.nosrc:
- expo assets aren't traditional DOM images, don't have src attributes
- 2d.pattern.image.incomplete.immediate:
- expo assets aren't traditional DOM images
- 2d.pattern.image.incomplete.reload:
- expo assets aren't traditional DOM images
- 2d.pattern.animated.gif:
- lol, yeah right
- 2d.pattern.basic.zerocanvas:
- context does not exist within a DOM element with width/height attributes
- 2d.pattern.modify.image1:
- expo assets aren't traditional DOM images, don't have src attributes
(TODO write an equivalent test that modifies canvas data or something after pattern creation)
- 2d.pattern.modify.image2:
- expo assets aren't traditional DOM images, don't have src attributes
(TODO write an equivalent test that modifies canvas data or something after pattern creation)
- 2d.pattern.image.broken:
- expo assets aren't traditional DOM images, don't have src attributes
(TODO investigate how to tell from native client if source asset is broken or not)
- initial.reset.2dstate:
- TODO should we/can we reset canvas state when the surrounding GLView size changes?
- 2d.scaled:
- context does not exist within a DOM element that can have CSS attributes applied to it
- 2d.state.saverestore.shadowOffsetX:
- TODO implement shadows
- 2d.state.saverestore.shadowOffsetY:
- TODO implement shadows
- 2d.state.saverestore.globalCompositeOperation:
- TODO implement compositing
- 2d.state.saverestore.shadowColor:
- TODO implement shadows
- 2d.state.saverestore.shadowBlur:
- TODO implement shadows
- 2d.strokeRect.globalcomposite:
- TODO implement compositing
- 2d.strokeRect.shadow:
- TODO implement shadows
- 2d.transformation.setTransform.multiple:
- This test straight up expects incorrect behavior
(setTransform() should not be allowed to have 0 arguments)
- 2d.voidreturn:
- This test straight up expects incorrect behavior
(setTransform() should not be allowed to have 0 arguments)
- 2d.shadow.*:
- TODO implement shadows
- 2d.composite.*:
- TODO implement compositing
- 2d.canvas.*:
- expected to fail (DOM/canvas tag doesn't exist)
- 2d.type.*:
- expected to fail (DOM/canvas tag doesn't exist)
- 2d.getcontext.*:
- expected to fail (DOM/canvas tag doesn't exist)
- 2d.clearRect.globalcomposite:
- TODO implement compositing
- 2d.clearRect.shadow:
- TODO implement shadows
- 2d.fillRect.shadow:
- TODO implement shadows
- 2d.gradient.radial.touch2:
- TODO fix numeric instability in shader that causes this edgecase fail
- 2d.fillStyle.parse.current*:
- No DOM, and no equivalent notion of CSS current color
- 2d.fillStyle.parse.system:
- System color names not supported