Since historically, painting is hard to test, do you think there is anything we can do, as you start adding painting support, to make this more testable?
For instance, and this is just a for instance, one idea would be to virtualize the GraphicsContext calls, and have a concrete implementation that just logs the calls. Then, for testing, we could do dump calls and test against an expected set of calls (a-la-a dump render tree).

(In reply to Sam Weinig from comment #8)
> Since historically, painting is hard to test, do you think there is anything
> we can do, as you start adding painting support, to make this more testable?
>
> For instance, and this is just a for instance, one idea would be to
> virtualize the GraphicsContext calls, and have a concrete implementation
> that just logs the calls. Then, for testing, we could do dump calls and test
> against an expected set of calls (a-la-a dump render tree).
This is a very good idea. We actually might be able to use the display list recording for this.