| 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 </head> | |
| 6 <body> | |
| 7 <svg id="svg" xmlns="http://www.w3.org/2000/svg" width="200" height="200"> | |
| 8 <text id="text1" x="500 1000 1500" y="50"> ABC </text> | |
| 9 </svg> | |
| 10 | |
| 11 <p id="description"></p> | |
| 12 <div id="console"></div> | |
| 13 <script type="text/javascript"> | |
| 14 <![CDATA[ | |
| 15 description("This is a test of the simple SVGLengthList API parts."); | |
| 16 | |
| 17 if (window.testRunner) | |
| 18 testRunner.dumpAsText(); | |
| 19 | |
| 20 var text1 = document.getElementById("text1"); | |
| 21 | |
| 22 // Spec: The object referenced by animVal will always be distinct from the o
ne referenced by baseVal, even when the attribute is not animated. | |
| 23 shouldBeTrue("text1.x.baseVal != text1.x.animVal"); | |
| 24 | |
| 25 shouldBe("text1.x.baseVal.numberOfItems", "3"); | |
| 26 shouldBe("text1.x.animVal.numberOfItems", "3"); | |
| 27 shouldBe("text1.x.baseVal.getItem(0).value", "500"); | |
| 28 shouldBe("text1.x.baseVal.getItem(1).value", "1000"); | |
| 29 shouldBe("text1.x.baseVal.getItem(2).value", "1500"); | |
| 30 | |
| 31 debug(""); | |
| 32 debug("Test uncommon arguments for initialize()"); | |
| 33 shouldThrow("text1.x.baseVal.initialize(30)"); | |
| 34 shouldThrow("text1.x.baseVal.initialize('aString')"); | |
| 35 shouldThrow("text1.x.baseVal.initialize(text1)"); | |
| 36 shouldThrow("text1.x.baseVal.initialize(null)"); | |
| 37 | |
| 38 debug(""); | |
| 39 debug("Test uncommon arguments for getItem()"); | |
| 40 shouldThrow("text1.x.baseVal.getItem(30)"); | |
| 41 shouldBe("text1.x.baseVal.getItem('aString')", "text1.x.baseVal.getItem(0)")
; | |
| 42 shouldBe("text1.x.baseVal.getItem(text1)", "text1.x.baseVal.getItem(0)"); | |
| 43 shouldBe("text1.x.baseVal.getItem(null)", "text1.x.baseVal.getItem(0)"); | |
| 44 | |
| 45 debug(""); | |
| 46 debug("Test uncommon arguments for insertItemBefore()"); | |
| 47 shouldThrow("text1.x.baseVal.insertItemBefore(30)"); | |
| 48 shouldThrow("text1.x.baseVal.insertItemBefore('aString')"); | |
| 49 shouldThrow("text1.x.baseVal.insertItemBefore(text1)"); | |
| 50 shouldThrow("text1.x.baseVal.insertItemBefore(null)"); | |
| 51 | |
| 52 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 'aStr
ing')", "text1.x.baseVal.getItem(0)"); | |
| 53 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 54 shouldBe("text1.x.baseVal.getItem(0).value", "1000"); | |
| 55 shouldBe("text1.x.baseVal.getItem(1).value", "500"); | |
| 56 shouldBe("text1.x.baseVal.getItem(2).value", "1000"); | |
| 57 shouldBe("text1.x.baseVal.getItem(3).value", "1500"); | |
| 58 shouldBeEqualToString("text1.getAttribute('x')", "1000 500 1000 1500"); | |
| 59 | |
| 60 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), text1
)", "text1.x.baseVal.getItem(0)"); | |
| 61 shouldBe("text1.x.baseVal.numberOfItems", "5"); | |
| 62 shouldBe("text1.x.baseVal.getItem(0).value", "500"); | |
| 63 shouldBe("text1.x.baseVal.getItem(1).value", "1000"); | |
| 64 shouldBe("text1.x.baseVal.getItem(2).value", "500"); | |
| 65 shouldBe("text1.x.baseVal.getItem(3).value", "1000"); | |
| 66 shouldBe("text1.x.baseVal.getItem(4).value", "1500"); | |
| 67 | |
| 68 shouldBeEqualToString("text1.getAttribute('x')", "500 1000 500 1000 1500"); | |
| 69 | |
| 70 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), null)
", "text1.x.baseVal.getItem(0)"); | |
| 71 shouldBe("text1.x.baseVal.numberOfItems", "6"); | |
| 72 shouldBe("text1.x.baseVal.getItem(0).value", "1000"); | |
| 73 shouldBe("text1.x.baseVal.getItem(1).value", "500"); | |
| 74 shouldBe("text1.x.baseVal.getItem(2).value", "1000"); | |
| 75 shouldBe("text1.x.baseVal.getItem(3).value", "500"); | |
| 76 shouldBe("text1.x.baseVal.getItem(4).value", "1000"); | |
| 77 shouldBe("text1.x.baseVal.getItem(5).value", "1500"); | |
| 78 shouldBeEqualToString("text1.getAttribute('x')", "1000 500 1000 500 1000 150
0"); | |
| 79 | |
| 80 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0)",
"text1.x.baseVal.getItem(0)"); | |
| 81 shouldBe("text1.x.baseVal.numberOfItems", "7"); | |
| 82 shouldBe("text1.x.baseVal.getItem(0).value", "500"); | |
| 83 shouldBe("text1.x.baseVal.getItem(1).value", "1000"); | |
| 84 shouldBe("text1.x.baseVal.getItem(2).value", "500"); | |
| 85 shouldBe("text1.x.baseVal.getItem(3).value", "1000"); | |
| 86 shouldBe("text1.x.baseVal.getItem(4).value", "500"); | |
| 87 shouldBe("text1.x.baseVal.getItem(5).value", "1000"); | |
| 88 shouldBe("text1.x.baseVal.getItem(6).value", "1500"); | |
| 89 shouldBeEqualToString("text1.getAttribute('x')", "500 1000 500 1000 500 1000
1500"); | |
| 90 | |
| 91 shouldThrow("text1.x.baseVal.insertItemBefore(30, 0)"); | |
| 92 shouldThrow("text1.x.baseVal.insertItemBefore('aString', 0)"); | |
| 93 shouldThrow("text1.x.baseVal.insertItemBefore(text1, 0)"); | |
| 94 shouldThrow("text1.x.baseVal.insertItemBefore(null, 0)"); | |
| 95 | |
| 96 debug(""); | |
| 97 debug("Set x='1 2 3 4' for text1"); | |
| 98 shouldBeUndefined("text1.setAttribute('x', '1 2 3 4')"); | |
| 99 | |
| 100 debug(""); | |
| 101 debug("Test edge cases for insertItemBefore()"); | |
| 102 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(3), 3)",
"text1.x.baseVal.getItem(3)"); | |
| 103 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4 4"); | |
| 104 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 5)",
"text1.x.baseVal.getItem(5)"); | |
| 105 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4 4 2"); | |
| 106 shouldBe("text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0)",
"text1.x.baseVal.getItem(0)"); | |
| 107 shouldBeEqualToString("text1.getAttribute('x')", "2 1 2 3 4 4 2"); | |
| 108 | |
| 109 debug(""); | |
| 110 debug("Set x='1 2 3 4' for text1"); | |
| 111 shouldBeUndefined("text1.setAttribute('x', '1 2 3 4')"); | |
| 112 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 113 shouldBe("text1.x.baseVal.getItem(0).value", "1"); | |
| 114 shouldBe("text1.x.baseVal.getItem(1).value", "2"); | |
| 115 shouldBe("text1.x.baseVal.getItem(2).value", "3"); | |
| 116 shouldBe("text1.x.baseVal.getItem(3).value", "4"); | |
| 117 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); | |
| 118 | |
| 119 debug(""); | |
| 120 debug("Test uncommon arguments for replaceItem()"); | |
| 121 shouldThrow("text1.x.baseVal.replaceItem(30)"); | |
| 122 shouldThrow("text1.x.baseVal.replaceItem('aString')"); | |
| 123 shouldThrow("text1.x.baseVal.replaceItem(text1)"); | |
| 124 shouldThrow("text1.x.baseVal.replaceItem(null)"); | |
| 125 shouldThrow("text1.x.baseVal.replaceItem(30, 0)"); | |
| 126 shouldThrow("text1.x.baseVal.replaceItem('aString', 0)"); | |
| 127 shouldThrow("text1.x.baseVal.replaceItem(text1, 0)"); | |
| 128 shouldThrow("text1.x.baseVal.replaceItem(null, 0)"); | |
| 129 | |
| 130 debug(""); | |
| 131 debug("Test uncommon values for indexed setter"); | |
| 132 shouldThrow("text1.x.baseVal[0] = 30"); | |
| 133 shouldThrow("text1.x.baseVal[0] = 'aString'"); | |
| 134 shouldThrow("text1.x.baseVal[0] = text1"); | |
| 135 shouldThrow("text1.x.baseVal[0] = null"); | |
| 136 | |
| 137 shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 0)", "text
1.x.baseVal.getItem(0)"); | |
| 138 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 139 shouldBe("text1.x.baseVal.getItem(0).value", "1"); | |
| 140 shouldBe("text1.x.baseVal.getItem(1).value", "2"); | |
| 141 shouldBe("text1.x.baseVal.getItem(2).value", "3"); | |
| 142 shouldBe("text1.x.baseVal.getItem(3).value", "4"); | |
| 143 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); | |
| 144 | |
| 145 shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 'aString')
", "text1.x.baseVal.getItem(0)"); | |
| 146 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 147 shouldBe("text1.x.baseVal.getItem(0).value", "1"); | |
| 148 shouldBe("text1.x.baseVal.getItem(1).value", "2"); | |
| 149 shouldBe("text1.x.baseVal.getItem(2).value", "3"); | |
| 150 shouldBe("text1.x.baseVal.getItem(3).value", "4"); | |
| 151 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); | |
| 152 | |
| 153 shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), text1)", "
text1.x.baseVal.getItem(0)"); | |
| 154 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 155 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); | |
| 156 | |
| 157 debug(""); | |
| 158 debug("Set x='1 2 3 4' for text1"); | |
| 159 shouldBeUndefined("text1.setAttribute('x', '1 2 3 4')"); | |
| 160 | |
| 161 debug(""); | |
| 162 debug("Test edge cases for replaceItem()"); | |
| 163 shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 3)", "text
1.x.baseVal.getItem(3)"); | |
| 164 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 165 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 4"); | |
| 166 shouldBe("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(1), 3)", "text
1.x.baseVal.getItem(3)"); | |
| 167 shouldBe("text1.x.baseVal.numberOfItems", "4"); | |
| 168 shouldBeEqualToString("text1.getAttribute('x')", "1 2 3 2"); | |
| 169 shouldThrow("text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 4)"); | |
| 170 | |
| 171 debug(""); | |
| 172 debug("Set x='1 2 3 4' for text1"); | |
| 173 shouldBeUndefined("text1.setAttribute('x', '1 2 3 4')"); | |
| 174 | |
| 175 debug(""); | |
| 176 debug("Test uncommon arguments for removeItem()"); | |
| 177 shouldThrow("text1.x.baseVal.removeItem(30)"); | |
| 178 | |
| 179 shouldBe("text1.x.baseVal.removeItem(0).value", "1"); | |
| 180 shouldBe("text1.x.baseVal.numberOfItems", "3"); | |
| 181 shouldBe("text1.x.baseVal.getItem(0).value", "2"); | |
| 182 shouldBe("text1.x.baseVal.getItem(1).value", "3"); | |
| 183 shouldBe("text1.x.baseVal.getItem(2).value", "4"); | |
| 184 shouldBeEqualToString("text1.getAttribute('x')", "2 3 4"); | |
| 185 | |
| 186 shouldBe("text1.x.baseVal.removeItem(text1).value", "2"); | |
| 187 shouldBe("text1.x.baseVal.numberOfItems", "2"); | |
| 188 shouldBe("text1.x.baseVal.getItem(0).value", "3"); | |
| 189 shouldBe("text1.x.baseVal.getItem(1).value", "4"); | |
| 190 shouldBeEqualToString("text1.getAttribute('x')", "3 4"); | |
| 191 | |
| 192 debug(""); | |
| 193 debug("Test uncommon arguments for appendItem()"); | |
| 194 shouldThrow("text1.x.baseVal.appendItem(30)"); | |
| 195 shouldThrow("text1.x.baseVal.appendItem('aString')"); | |
| 196 shouldThrow("text1.x.baseVal.appendItem(text1)"); | |
| 197 shouldThrow("text1.x.baseVal.appendItem(null)"); | |
| 198 | |
| 199 debug(""); | |
| 200 debug("Testing animVal clear throws"); | |
| 201 shouldThrow("text1.x.animVal.clear()"); | |
| 202 shouldBeUndefined("text1.x.baseVal.clear()"); | |
| 203 | |
| 204 gc(); | |
| 205 ]]> | |
| 206 </script> | |
| 207 </body> | |
| 208 </html> | |
| OLD | NEW |