Chromium Code Reviews| 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> |