Index: LayoutTests/svg/dom/SVGTransformList-more.xhtml |
diff --git a/LayoutTests/svg/dom/SVGTransformList-more.xhtml b/LayoutTests/svg/dom/SVGTransformList-more.xhtml |
new file mode 100644 |
index 0000000000000000000000000000000000000000..8aca938039338d4d01a1d8c6f238910dd13e7a77 |
--- /dev/null |
+++ b/LayoutTests/svg/dom/SVGTransformList-more.xhtml |
@@ -0,0 +1,97 @@ |
+<html xmlns="http://www.w3.org/1999/xhtml"> |
pdr.
2015/06/12 20:23:24
Nit: Please use <!DOCTYPE HTML> as the first line.
Shanmuga Pandi
2015/06/13 07:01:32
Done.
|
+<head> |
+<script>window.enablePixelTesting = true;</script> |
+<script src="../../resources/js-test.js"></script> |
+</head> |
+<body> |
+<svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200"> |
+ <circle id="circle1" cx="40" cy="40" r="40" fill="green" transform="scale(2,2)"/> |
+ <circle id="circle2" cx="40" cy="40" r="40" fill="green" transform="scale(2,2)"/> |
+</svg> |
+ |
+<p id="description"></p> |
+<div id="console"></div> |
+<script type="text/javascript"> |
+<![CDATA[ |
+ description("This is a test of more SVGTransformList API parts."); |
+ |
+ if (window.testRunner) |
+ testRunner.dumpAsText(); |
+ |
+ function dumpMatrix(matrix) { |
+ return "[" + matrix.a.toFixed(1) |
+ + " " + matrix.b.toFixed(1) |
+ + " " + matrix.c.toFixed(1) |
+ + " " + matrix.d.toFixed(1) |
+ + " " + matrix.e.toFixed(1) |
+ + " " + matrix.f.toFixed(1) |
+ + "]"; |
+ } |
+ |
+ function dumpTransform(transform) { |
pdr.
2015/06/12 20:23:24
Instead of copying these, lets move them to a comm
Shanmuga Pandi
2015/06/13 07:01:31
Done.
|
+ var transformTypes = { |
+ "0": "SVG_TRANSFORM_UNKNOWN", |
+ "1": "SVG_TRANSFORM_MATRIX", |
+ "2": "SVG_TRANSFORM_TRANSLATE", |
+ "3": "SVG_TRANSFORM_SCALE", |
+ "4": "SVG_TRANSFORM_ROTATE", |
+ "5": "SVG_TRANSFORM_SKEWX", |
+ "6": "SVG_TRANSFORM_SKEWY" |
+ }; |
+ |
+ return "type=" + transformTypes[transform.type] + " matrix=" + dumpMatrix(transform.matrix); |
+ } |
+ |
+ var svg = document.getElementById("svg"); |
+ var circle1 = document.getElementById("circle1"); |
+ var circle2 = document.getElementById("circle2"); |
+ |
+ var transT = svg.createSVGTransform(); |
pdr.
2015/06/12 20:23:24
Nit: no need to abbreviate, lets just call this tr
Shanmuga Pandi
2015/06/13 07:01:31
Done.
|
+ transT.setTranslate(100, 100); |
+ |
+ var scaleS = svg.createSVGTransform(); |
+ scaleS.setScale(3, 3); |
+ |
+ debug("Test applying same transform to many SVGTransformList by appendItem()"); |
+ circle1.transform.baseVal.appendItem(transT); |
+ circle2.transform.baseVal.appendItem(transT); |
+ shouldBe("circle1.transform.baseVal.numberOfItems", "2"); |
+ shouldBe("circle2.transform.baseVal.numberOfItems", "2"); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 100.0 100.0]"); |
+ shouldBeEqualToString("dumpTransform(circle2.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 100.0 100.0]"); |
+ |
+ debug("Test changing SVGTransform value"); |
+ transT.setTranslate(200, 200); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 200.0 200.0]"); |
+ shouldBeEqualToString("dumpTransform(circle2.transform.baseVal.getItem(1))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 100.0 100.0]"); |
pdr.
2015/06/12 20:23:24
Why is this 1.0 0.0 0.0 1.0 100.0 100.0 instead of
Shanmuga Pandi
2015/06/13 07:01:31
circle1.transform.baseVal.appendItem(transT);
cir
|
+ |
+ |
+ debug("Test applying same transform to many SVGTransformList by insertItemBefore()"); |
+ circle1.transform.baseVal.insertItemBefore(transT,0); |
+ circle2.transform.baseVal.insertItemBefore(transT,0); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 200.0 200.0]"); |
+ shouldBeEqualToString("dumpTransform(circle2.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 200.0 200.0]"); |
+ shouldBe("circle1.transform.baseVal.numberOfItems", "3"); |
+ shouldBe("circle2.transform.baseVal.numberOfItems", "3"); |
+ |
+ debug("Test applying same transform to many SVGTransformList by replaceItem()"); |
+ circle1.transform.baseVal.replaceItem(scaleS,2); |
+ circle2.transform.baseVal.replaceItem(scaleS,2); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(2))", "type=SVG_TRANSFORM_SCALE matrix=[3.0 0.0 0.0 3.0 0.0 0.0]"); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(2))", "type=SVG_TRANSFORM_SCALE matrix=[3.0 0.0 0.0 3.0 0.0 0.0]"); |
pdr.
2015/06/12 20:23:24
Was this supposed to be circle2? (here, and line 9
Shanmuga Pandi
2015/06/13 07:01:31
sorry. type error. Corrected
|
+ shouldBe("circle1.transform.baseVal.numberOfItems", "3"); |
+ shouldBe("circle2.transform.baseVal.numberOfItems", "3"); |
+ |
+ |
+ debug("Test applying same transform to many SVGTransformList by initialize()"); |
+ circle1.transform.baseVal.initialize(scaleS); |
+ circle2.transform.baseVal.initialize(scaleS); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_SCALE matrix=[3.0 0.0 0.0 3.0 0.0 0.0]"); |
+ shouldBeEqualToString("dumpTransform(circle1.transform.baseVal.getItem(0))", "type=SVG_TRANSFORM_SCALE matrix=[3.0 0.0 0.0 3.0 0.0 0.0]"); |
+ shouldBe("circle1.transform.baseVal.numberOfItems", "1"); |
+ shouldBe("circle2.transform.baseVal.numberOfItems", "1"); |
+ |
+]]> |
+</script> |
+</body> |
+</html> |