QA/Firefox3.5/CSS Transform Testplan

From MozillaWiki
Jump to: navigation, search

« QA/Firefox3.1/TestPlan

CSS Transform Testplan


We are implementing 2d transforms for content in web pages. I don't think we are doing 3d transforms yet.

Test Strategy

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?

Negative Tests

  • 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

Schedule Scoping

  • 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.