QA/Firefox3.5/CSS Transform Testplan: Difference between revisions

From MozillaWiki
< QA‎ | Firefox3.5
Jump to navigation Jump to search
Line 9: Line 9:
= Test Strategy =
= Test Strategy =
== Things we should do ==
== 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.
* 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 that multiple applied transforms equate to a sequentially applied transform
* Test invalid measurements
* Test invalid measurements
Line 16: Line 16:
* Test this with other embedded content and be sure the other content is (and is not) transformed as specified.
* 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 <strike>Test with various types of :fixed, :relative elements on the page</strike>
* Unneeded: it doesn't affect other elements - doesn't cause reflow <strike>Test with various types of :fixed, :relative elements on the page</strike>
=== 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 ==
== Things we'd like to do ==

Revision as of 05:20, 10 September 2008

« QA/Firefox3.1/TestPlan

CSS Transform Testplan

Overview

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


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.

References

  • The webkit browsers have a good share of these implemented (Google Chrome & safari)
  • Security Review