 
This is a test of precedency between CSS and SVG transform

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


Also, to pass the test, the rectangle should be rotated with 45deg


Test SVGTransformList interface
PASS circle.transform.baseVal.numberOfItems is 0
PASS circle.getAttribute('transform') is null
PASS rect.transform.baseVal.numberOfItems is 2
PASS rect.getAttribute('transform') is "translate(1000, 1000) rotate(90)"
PASS dumpTransform(rect.transform.baseVal.getItem(0)) is "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 1000.0 1000.0]"
PASS dumpTransform(rect.transform.baseVal.getItem(1)) is "type=SVG_TRANSFORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"

Test SVGLocatable interface
PASS dumpMatrix(circle.getCTM()) is "[2.0 0.0 0.0 2.0 20.0 20.0]"
PASS dumpMatrix(circle.getScreenCTM()) is "[2.0 0.0 0.0 2.0 28.0 28.0]"
PASS dumpRect(circle.getBBox()) is "[0 0 80 80]"
PASS dumpMatrix(circle.getTransformToElement(circle)) is "[1.0 0.0 0.0 1.0 0.0 0.0]"
PASS dumpMatrix(rect.getCTM()) is "[0.7 0.7 -0.7 0.7 100.0 0.0]"
PASS dumpMatrix(rect.getScreenCTM()) is "[0.7 0.7 -0.7 0.7 312.0 8.0]"
PASS dumpRect(rect.getBBox()) is "[40 40 100 100]"
PASS dumpMatrix(rect.getTransformToElement(rect)) is "[1.0 0.0 0.0 1.0 0.0 0.0]"

Test CSSMatrix
PASS circle.style.webkitTransform is "scale(2, 2) translate(10px, 10px)"
PASS dumpMatrix(new WebKitCSSMatrix(circle.style.webkitTransform)) is "[2.0 0.0 0.0 2.0 20.0 20.0]"
PASS rect.style.webkitTransform is "translate(100px) rotate(45deg)"
PASS dumpMatrix(new WebKitCSSMatrix(rect.style.webkitTransform)) is "[0.7 0.7 -0.7 0.7 100.0 0.0]"

PASS dumpMatrix(new WebKitCSSMatrix(circle.style.webkitTransform)) is dumpMatrix(circle.getCTM())
PASS dumpMatrix(new WebKitCSSMatrix(rect.style.webkitTransform)) is dumpMatrix(rect.getCTM())

PASS successfullyParsed is true

TEST COMPLETE

