| OLD | NEW |
| (Empty) |
| 1 <html xmlns="http://www.w3.org/1999/xhtml"> | |
| 2 <head> | |
| 3 <script>window.enablePixelTesting = true;</script> | |
| 4 <script src="../../resources/js-test.js"></script> | |
| 5 <script src="resources/SVGTransformList-helper.js"></script> | |
| 6 </head> | |
| 7 <body> | |
| 8 <svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200"> | |
| 9 <circle id="circle1" cx="40" cy="40" r="40" fill="green" transform="scale(2,
2) translate(10 10)"/> | |
| 10 </svg> | |
| 11 | |
| 12 <p id="description"></p> | |
| 13 <div id="console"></div> | |
| 14 <script type="text/javascript"> | |
| 15 <![CDATA[ | |
| 16 description("This is a test of the simple SVGTransformList API parts."); | |
| 17 | |
| 18 if (window.testRunner) | |
| 19 testRunner.dumpAsText(); | |
| 20 | |
| 21 var svg = document.getElementById("svg"); | |
| 22 var circle1 = document.getElementById("circle1"); | |
| 23 var transformList = circle1.transform.baseVal; | |
| 24 | |
| 25 // Spec: The object referenced by animVal will always be distinct from the o
ne referenced by baseVal, even when the attribute is not animated. | |
| 26 shouldBeTrue("circle1.transform.baseVal != circle1.transform.animVal"); | |
| 27 | |
| 28 shouldBe("circle1.transform.baseVal.numberOfItems", "2"); | |
| 29 shouldBe("circle1.transform.animVal.numberOfItems", "2"); | |
| 30 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 31 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 32 | |
| 33 debug(""); | |
| 34 debug("Test uncommon arguments for initialize()"); | |
| 35 shouldThrow("transformList.initialize(30)"); | |
| 36 shouldThrow("transformList.initialize('aString')"); | |
| 37 shouldThrow("transformList.initialize(circle1)"); | |
| 38 shouldThrow("transformList.initialize(null)"); | |
| 39 | |
| 40 debug(""); | |
| 41 debug("Test uncommon arguments for getItem()"); | |
| 42 shouldThrow("transformList.getItem(30)"); | |
| 43 shouldBeEqualToString("transformList.getItem('aString').toString()", "type=S
VG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 44 shouldBeEqualToString("transformList.getItem(circle1).toString()", "type=SVG
_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 45 shouldBeEqualToString("transformList.getItem(null).toString()", "type=SVG_TR
ANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 46 | |
| 47 debug(""); | |
| 48 debug("Test uncommon arguments for insertItemBefore()"); | |
| 49 shouldThrow("transformList.insertItemBefore(30)"); | |
| 50 shouldThrow("transformList.insertItemBefore('aString')"); | |
| 51 shouldThrow("transformList.insertItemBefore(circle1)"); | |
| 52 shouldThrow("transformList.insertItemBefore(null)"); | |
| 53 | |
| 54 shouldBeEqualToString("transformList.insertItemBefore(transformList.getItem(
1), 'aString').toString()", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.
0 10.0 10.0]"); | |
| 55 shouldBe("transformList.numberOfItems", "3"); | |
| 56 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 57 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 58 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 59 shouldBeEqualToString("circle1.getAttribute('transform')", "translate(10 10)
scale(2 2) translate(10 10)"); | |
| 60 | |
| 61 shouldBeEqualToString("transformList.insertItemBefore(transformList.getItem(
1), circle1).toString()", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0
0.0]"); | |
| 62 shouldBe("transformList.numberOfItems", "4"); | |
| 63 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 64 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 65 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 66 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 67 shouldBeEqualToString("circle1.getAttribute('transform')", "scale(2 2) trans
late(10 10) scale(2 2) translate(10 10)"); | |
| 68 | |
| 69 shouldBeEqualToString("transformList.insertItemBefore(transformList.getItem(
1), null).toString()", "type=SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.
0 10.0]"); | |
| 70 shouldBe("transformList.numberOfItems", "5"); | |
| 71 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 72 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 73 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 74 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 75 shouldBeEqualToString("transformList.getItem(4).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 76 shouldBeEqualToString("circle1.getAttribute('transform')", "translate(10 10)
scale(2 2) translate(10 10) scale(2 2) translate(10 10)"); | |
| 77 | |
| 78 shouldBeEqualToString("transformList.insertItemBefore(transformList.getItem(
1), 0).toString()", "type=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]")
; | |
| 79 shouldBe("transformList.numberOfItems", "6"); | |
| 80 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 81 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 82 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 83 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 84 shouldBeEqualToString("transformList.getItem(4).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 85 shouldBeEqualToString("transformList.getItem(5).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 86 shouldBeEqualToString("circle1.getAttribute('transform')", "scale(2 2) trans
late(10 10) scale(2 2) translate(10 10) scale(2 2) translate(10 10)"); | |
| 87 | |
| 88 shouldThrow("transformList.insertItemBefore(30, 0)"); | |
| 89 shouldThrow("transformList.insertItemBefore('aString', 0)"); | |
| 90 shouldThrow("transformList.insertItemBefore(circle1, 0)"); | |
| 91 shouldThrow("transformList.insertItemBefore(null, 0)"); | |
| 92 | |
| 93 debug(""); | |
| 94 debug("Set transform='rotate(90) scale(2 2) translate(10 10) skewX(45)' for
circle1"); | |
| 95 shouldBeUndefined("circle1.setAttribute('transform', 'rotate(90) scale(2 2)
translate(10 10) skewX(45)')"); | |
| 96 shouldBe("transformList.numberOfItems", "4"); | |
| 97 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"); | |
| 98 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 99 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 100 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 101 shouldBeEqualToString("circle1.getAttribute('transform')", "rotate(90) scale
(2 2) translate(10 10) skewX(45)"); | |
| 102 | |
| 103 debug(""); | |
| 104 debug("Test uncommon arguments for replaceItem()"); | |
| 105 shouldThrow("transformList.replaceItem(30)"); | |
| 106 shouldThrow("transformList.replaceItem('aString')"); | |
| 107 shouldThrow("transformList.replaceItem(circle1)"); | |
| 108 shouldThrow("transformList.replaceItem(null)"); | |
| 109 shouldThrow("transformList.replaceItem(30, 0)"); | |
| 110 shouldThrow("transformList.replaceItem('aString', 0)"); | |
| 111 shouldThrow("transformList.replaceItem(circle1, 0)"); | |
| 112 shouldThrow("transformList.replaceItem(null, 0)"); | |
| 113 | |
| 114 debug(""); | |
| 115 debug("Test uncommon values for indexed setter"); | |
| 116 shouldThrow("transformList[0] = 30"); | |
| 117 shouldThrow("transformList[0] = 'aString'"); | |
| 118 shouldThrow("transformList[0] = circle1"); | |
| 119 shouldThrow("transformList[0] = null"); | |
| 120 | |
| 121 shouldBeEqualToString("transformList.replaceItem(transformList.getItem(0), 0
).toString()", "type=SVG_TRANSFORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"); | |
| 122 shouldBe("transformList.numberOfItems", "4"); | |
| 123 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"); | |
| 124 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 125 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 126 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 127 shouldBeEqualToString("circle1.getAttribute('transform')", "rotate(90) scale
(2 2) translate(10 10) skewX(45)"); | |
| 128 | |
| 129 shouldBeEqualToString("transformList.replaceItem(transformList.getItem(0), '
aString').toString()", "type=SVG_TRANSFORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0
.0]"); | |
| 130 shouldBe("transformList.numberOfItems", "4"); | |
| 131 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"); | |
| 132 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 133 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 134 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 135 shouldBeEqualToString("circle1.getAttribute('transform')", "rotate(90) scale
(2 2) translate(10 10) skewX(45)"); | |
| 136 | |
| 137 shouldBeEqualToString("transformList.replaceItem(transformList.getItem(0), c
ircle1).toString()", "type=SVG_TRANSFORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0
]"); | |
| 138 shouldBe("transformList.numberOfItems", "4"); | |
| 139 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"); | |
| 140 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 141 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 142 shouldBeEqualToString("transformList.getItem(3).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 143 shouldBeEqualToString("circle1.getAttribute('transform')", "rotate(90) scale
(2 2) translate(10 10) skewX(45)"); | |
| 144 | |
| 145 shouldBeEqualToString("transformList.replaceItem(transformList.getItem(0), n
ull).toString()", "type=SVG_TRANSFORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]")
; | |
| 146 shouldBe("transformList.numberOfItems", "4"); | |
| 147 shouldBeEqualToString("circle1.getAttribute('transform')", "rotate(90) scale
(2 2) translate(10 10) skewX(45)"); | |
| 148 | |
| 149 debug(""); | |
| 150 debug("Set transform='rotate(90) scale(2 2) translate(10 10) skewX(45)' for
circle1"); | |
| 151 shouldBeUndefined("circle1.setAttribute('transform', 'rotate(90) scale(2 2)
translate(10 10) skewX(45)')"); | |
| 152 | |
| 153 debug(""); | |
| 154 debug("Test uncommon arguments for removeItem()"); | |
| 155 shouldThrow("transformList.removeItem(30)"); | |
| 156 | |
| 157 shouldBeEqualToString("transformList.removeItem(0).toString()", "type=SVG_TR
ANSFORM_ROTATE matrix=[0.0 1.0 -1.0 0.0 0.0 0.0]"); | |
| 158 shouldBe("transformList.numberOfItems", "3"); | |
| 159 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 160 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 161 shouldBeEqualToString("transformList.getItem(2).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 162 shouldBeEqualToString("circle1.getAttribute('transform')", "scale(2 2) trans
late(10 10) skewX(45)"); | |
| 163 | |
| 164 shouldBeEqualToString("transformList.removeItem('aString').toString()", "typ
e=SVG_TRANSFORM_SCALE matrix=[2.0 0.0 0.0 2.0 0.0 0.0]"); | |
| 165 shouldBe("transformList.numberOfItems", "2"); | |
| 166 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 167 shouldBeEqualToString("transformList.getItem(1).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 168 shouldBeEqualToString("circle1.getAttribute('transform')", "translate(10 10)
skewX(45)"); | |
| 169 | |
| 170 shouldBeEqualToString("transformList.removeItem(circle1).toString()", "type=
SVG_TRANSFORM_TRANSLATE matrix=[1.0 0.0 0.0 1.0 10.0 10.0]"); | |
| 171 shouldBe("transformList.numberOfItems", "1"); | |
| 172 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_SKEWX matrix=[1.0 0.0 1.0 1.0 0.0 0.0]"); | |
| 173 shouldBeEqualToString("circle1.getAttribute('transform')", "skewX(45)"); | |
| 174 | |
| 175 debug(""); | |
| 176 debug("Test uncommon arguments for appendItem()"); | |
| 177 shouldThrow("transformList.appendItem(30)"); | |
| 178 shouldThrow("transformList.appendItem('aString')"); | |
| 179 shouldThrow("transformList.appendItem(circle1)"); | |
| 180 shouldThrow("transformList.appendItem(null)"); | |
| 181 | |
| 182 debug(""); | |
| 183 debug("Testing animVal clear throws"); | |
| 184 shouldThrow("circle1.transform.animVal.clear()"); | |
| 185 shouldBeUndefined("transformList.clear()"); | |
| 186 | |
| 187 debug(""); | |
| 188 debug("Creating new SVGTransform, with 45 deg rotation about x=50, y=100 and
append it to the transform list"); | |
| 189 var transform; | |
| 190 shouldBeEqualToString("(transform = svg.createSVGTransform()).toString()", "
type=SVG_TRANSFORM_MATRIX matrix=[1.0 0.0 0.0 1.0 0.0 0.0]"); | |
| 191 shouldBeUndefined("transform.setRotate(45, 50, 100)"); | |
| 192 | |
| 193 shouldBeEqualToString("transformList.appendItem(transform).toString()", "typ
e=SVG_TRANSFORM_ROTATE matrix=[0.7 0.7 -0.7 0.7 85.4 -6.1]"); | |
| 194 shouldBe("transformList.numberOfItems", "1"); | |
| 195 shouldBeEqualToString("transformList.getItem(0).toString()", "type=SVG_TRANS
FORM_ROTATE matrix=[0.7 0.7 -0.7 0.7 85.4 -6.1]"); | |
| 196 shouldBeEqualToString("circle1.getAttribute('transform')", "rotate(45 50 100
)"); | |
| 197 | |
| 198 ]]> | |
| 199 </script> | |
| 200 </body> | |
| 201 </html> | |
| OLD | NEW |