QA/Firefox3.5/CSS Transform Testplan
- CSS Transform Testplan
We are implementing 2d transforms for content in web pages. I don't think we are doing 3d transforms yet.
Things we should do
- There are quite a few reftests being applied with the patch. Need to talk with Keith to see if these are enough and if there are more sanity "does it work" reftest patches needed. --> Done
- Test that multiple applied transforms equate to a sequentially applied transform
- Test invalid measurements
- Test invalid inputs
- Unneeded: we didn't implement these.
Test DOM interfaces that this exposes - it doesn't seem the reftests do that.
- Test this with other embedded content and be sure the other content is (and is not) transformed as specified.
- Unneeded: it doesn't affect other elements - doesn't cause reflow
Test with various types of :fixed, :relative elements on the page
Functional Cases Needed
- test matrix() and matrix3d()
- test translate3d -- not supported, shouldn't crash
- test scale transforms
- test scalex
- test scaley
- test skew, skewx, skewy
- todo: is transform-style handled?
- todo: is perspective transformation handled
- todo: is perspective-origin handled
- todo: is backface-visibility handled?
- Add a test for each of the above with picked values that lean toward impossible, nAn, or tiny values.
- Attempt huge transformation matrices that keep propogating (may not be reftestable)
- Attempt giant transformations of lots of content, just to see if the system can be crashed.
- test invalid measurement units insure that the transform is ignored.
- move some of the tests into reftest, especially test for none as a value.
Things we'd like to do
- Test applying these tranforms to SVG elements, as per the spec, see if it works
- Test how many of these transforms you can apply to one element
- Test handing these transformations off to DOM Threads
- Test with transparent images and backgrounds
- Test transforming elements inside of tables
- Writing these tests will take about 3 days, because verifying that the transform is correct and coming up with the proper reference image will be a bit of a pain.
- The webkit browsers have a good share of these implemented (Google Chrome & safari)
- Security Review