OLD | NEW |
---|---|
(Empty) | |
1 <!DOCTYPE HTML> | |
2 <title>SVGLengthList Interface - basics</title> | |
fs
2016/09/14 15:14:35
Ditto.
Shanmuga Pandi
2016/09/15 06:18:19
Done.
| |
3 <script src="../../resources/testharness.js"></script> | |
4 <script src="../../resources/testharnessreport.js"></script> | |
5 <svg xmlns="http://www.w3.org/2000/svg" width="200" height="200"> | |
6 <text x="500 1000 1500" y="50"> ABC </text> | |
7 </svg> | |
8 <script> | |
9 test(function() { | |
10 var text1 = document.querySelector("text"); | |
fs
2016/09/14 15:14:35
Suggest aliasing the list(s) once here too.
Shanmuga Pandi
2016/09/15 06:18:18
Done.
| |
11 | |
12 // Spec: The object referenced by animVal will always be distinct from the one referenced by baseVal, even when the attribute is not animated. | |
13 assert_not_equals(text1.x.baseVal, text1.x.animVal); | |
14 | |
15 assert_equals(text1.x.baseVal.numberOfItems, 3); | |
16 assert_equals(text1.x.animVal.numberOfItems, 3); | |
17 assert_equals(text1.x.baseVal.getItem(0).value, 500); | |
18 assert_equals(text1.x.baseVal.getItem(1).value, 1000); | |
19 assert_equals(text1.x.baseVal.getItem(2).value, 1500); | |
20 | |
21 // Test uncommon arguments for initialize(). | |
22 assert_throws(new TypeError(), function() { text1.x.baseVal.initialize(30); }) ; | |
23 assert_throws(new TypeError(), function() { text1.x.baseVal.initialize('aStrin g'); }); | |
24 assert_throws(new TypeError(), function() { text1.x.baseVal.initialize(text1); }); | |
25 assert_throws(new TypeError(), function() { text1.x.baseVal.initialize(null); }); | |
26 | |
27 // Test uncommon arguments for getItem(). | |
28 assert_throws("IndexSizeError", function() { text1.x.baseVal.getItem(30); }); | |
29 assert_equals(text1.x.baseVal.getItem('aString').value, text1.x.baseVal.getIte m(0).value); | |
30 assert_equals(text1.x.baseVal.getItem(text1).value, text1.x.baseVal.getItem(0) .value); | |
31 assert_equals(text1.x.baseVal.getItem(null).value, text1.x.baseVal.getItem(0). value); | |
32 | |
33 // Test uncommon arguments for insertItemBefore(). | |
34 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(3 0); }); | |
35 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(' aString'); }); | |
36 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(t ext1); }); | |
37 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(n ull); }); | |
38 | |
39 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 'aS tring').value, text1.x.baseVal.getItem(0).value); | |
40 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
41 assert_equals(text1.x.baseVal.getItem(0).value, 1000); | |
42 assert_equals(text1.x.baseVal.getItem(1).value, 500); | |
43 assert_equals(text1.x.baseVal.getItem(2).value, 1000); | |
44 assert_equals(text1.x.baseVal.getItem(3).value, 1500); | |
45 assert_equals(text1.getAttribute('x'), "1000 500 1000 1500"); | |
46 | |
47 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), tex t1).value, text1.x.baseVal.getItem(0).value); | |
48 assert_equals(text1.x.baseVal.numberOfItems, 5); | |
49 assert_equals(text1.x.baseVal.getItem(0).value, 500); | |
50 assert_equals(text1.x.baseVal.getItem(1).value, 1000); | |
51 assert_equals(text1.x.baseVal.getItem(2).value, 500); | |
52 assert_equals(text1.x.baseVal.getItem(3).value, 1000); | |
53 assert_equals(text1.x.baseVal.getItem(4).value, 1500); | |
54 | |
55 assert_equals(text1.getAttribute('x'), "500 1000 500 1000 1500"); | |
56 | |
57 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), nul l).value, text1.x.baseVal.getItem(0).value); | |
58 assert_equals(text1.x.baseVal.numberOfItems, 6); | |
59 assert_equals(text1.x.baseVal.getItem(0).value, 1000); | |
60 assert_equals(text1.x.baseVal.getItem(1).value, 500); | |
61 assert_equals(text1.x.baseVal.getItem(2).value, 1000); | |
62 assert_equals(text1.x.baseVal.getItem(3).value, 500); | |
63 assert_equals(text1.x.baseVal.getItem(4).value, 1000); | |
64 assert_equals(text1.x.baseVal.getItem(5).value, 1500); | |
65 assert_equals(text1.getAttribute('x'), "1000 500 1000 500 1000 1500"); | |
66 | |
67 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0). value, text1.x.baseVal.getItem(0).value); | |
68 assert_equals(text1.x.baseVal.numberOfItems, 7); | |
69 assert_equals(text1.x.baseVal.getItem(0).value, 500); | |
70 assert_equals(text1.x.baseVal.getItem(1).value, 1000); | |
71 assert_equals(text1.x.baseVal.getItem(2).value, 500); | |
72 assert_equals(text1.x.baseVal.getItem(3).value, 1000); | |
73 assert_equals(text1.x.baseVal.getItem(4).value, 500); | |
74 assert_equals(text1.x.baseVal.getItem(5).value, 1000); | |
75 assert_equals(text1.x.baseVal.getItem(6).value, 1500); | |
76 assert_equals(text1.getAttribute('x'), "500 1000 500 1000 500 1000 1500"); | |
77 | |
78 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(3 0, 0); }); | |
79 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(' aString', 0); }); | |
80 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(t ext1, 0); }); | |
81 assert_throws(new TypeError(), function() { text1.x.baseVal.insertItemBefore(n ull, 0); }); | |
82 | |
83 // Set x='1 2 3 4' for text1. | |
84 text1.setAttribute('x', '1 2 3 4'); | |
85 | |
86 // Test edge cases for insertItemBefore(). | |
87 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(3), 3). value, text1.x.baseVal.getItem(3).value); | |
88 assert_equals(text1.getAttribute('x'), "1 2 3 4 4"); | |
89 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 5). value, text1.x.baseVal.getItem(5).value); | |
90 assert_equals(text1.getAttribute('x'), "1 2 3 4 4 2"); | |
91 assert_equals(text1.x.baseVal.insertItemBefore(text1.x.baseVal.getItem(1), 0). value, text1.x.baseVal.getItem(0).value); | |
92 assert_equals(text1.getAttribute('x'), "2 1 2 3 4 4 2"); | |
93 | |
94 // Set x='1 2 3 4' for text1. | |
95 text1.setAttribute('x', '1 2 3 4'); | |
96 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
97 assert_equals(text1.x.baseVal.getItem(0).value, 1); | |
98 assert_equals(text1.x.baseVal.getItem(1).value, 2); | |
99 assert_equals(text1.x.baseVal.getItem(2).value, 3); | |
100 assert_equals(text1.x.baseVal.getItem(3).value, 4); | |
101 assert_equals(text1.getAttribute('x'), "1 2 3 4"); | |
102 | |
103 // Test uncommon arguments for replaceItem(). | |
104 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem(30); } ); | |
105 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem('aStri ng'); }); | |
106 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem(text1) ; }); | |
107 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem(null); }); | |
108 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem(30, 0) ; }); | |
109 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem('aStri ng', 0); }); | |
110 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem(text1, 0); }); | |
111 assert_throws(new TypeError(), function() { text1.x.baseVal.replaceItem(null, 0); }); | |
112 | |
113 // Test uncommon values for indexed setter. | |
114 assert_throws(new TypeError(), function() { text1.x.baseVal[0] = 30; }); | |
115 assert_throws(new TypeError(), function() { text1.x.baseVal[0] = 'aString'; }) ; | |
116 assert_throws(new TypeError(), function() { text1.x.baseVal[0] = text1; }); | |
117 assert_throws(new TypeError(), function() { text1.x.baseVal[0] = null; }); | |
118 | |
119 assert_equals(text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 0).value , text1.x.baseVal.getItem(0).value); | |
120 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
121 assert_equals(text1.x.baseVal.getItem(0).value, 1); | |
122 assert_equals(text1.x.baseVal.getItem(1).value, 2); | |
123 assert_equals(text1.x.baseVal.getItem(2).value, 3); | |
124 assert_equals(text1.x.baseVal.getItem(3).value, 4); | |
125 assert_equals(text1.getAttribute('x'), "1 2 3 4"); | |
126 | |
127 assert_equals(text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), 'aString ').value, text1.x.baseVal.getItem(0).value); | |
128 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
129 assert_equals(text1.x.baseVal.getItem(0).value, 1); | |
130 assert_equals(text1.x.baseVal.getItem(1).value, 2); | |
131 assert_equals(text1.x.baseVal.getItem(2).value, 3); | |
132 assert_equals(text1.x.baseVal.getItem(3).value, 4); | |
133 assert_equals(text1.getAttribute('x'), "1 2 3 4"); | |
134 | |
135 assert_equals(text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(0), text1).v alue, text1.x.baseVal.getItem(0).value); | |
136 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
137 assert_equals(text1.getAttribute('x'), "1 2 3 4"); | |
138 | |
139 // Set x='1 2 3 4' for text1. | |
140 text1.setAttribute('x', '1 2 3 4'); | |
141 | |
142 // Test edge cases for replaceItem(). | |
143 assert_equals(text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(3), 3).value , text1.x.baseVal.getItem(3).value); | |
144 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
145 assert_equals(text1.getAttribute('x'), "1 2 3 4"); | |
146 assert_equals(text1.x.baseVal.replaceItem(text1.x.baseVal.getItem(1), 3).value , text1.x.baseVal.getItem(3).value); | |
147 assert_equals(text1.x.baseVal.numberOfItems, 4); | |
148 assert_equals(text1.getAttribute('x'), "1 2 3 2"); | |
149 assert_throws("IndexSizeError", function() { text1.x.baseVal.replaceItem(text1 .x.baseVal.getItem(3), 4); }); | |
150 | |
151 // Set x='1 2 3 4' for text1. | |
152 text1.setAttribute('x', '1 2 3 4'); | |
153 | |
154 // Test uncommon arguments for removeItem(). | |
155 assert_throws("IndexSizeError", function() { text1.x.baseVal.removeItem(30); } ); | |
156 | |
157 assert_equals(text1.x.baseVal.removeItem(0).value, 1); | |
158 assert_equals(text1.x.baseVal.numberOfItems, 3); | |
159 assert_equals(text1.x.baseVal.getItem(0).value, 2); | |
160 assert_equals(text1.x.baseVal.getItem(1).value, 3); | |
161 assert_equals(text1.x.baseVal.getItem(2).value, 4); | |
162 assert_equals(text1.getAttribute('x'), "2 3 4"); | |
163 | |
164 assert_equals(text1.x.baseVal.removeItem(text1).value, 2); | |
165 assert_equals(text1.x.baseVal.numberOfItems, 2); | |
166 assert_equals(text1.x.baseVal.getItem(0).value, 3); | |
167 assert_equals(text1.x.baseVal.getItem(1).value, 4); | |
168 assert_equals(text1.getAttribute('x'), "3 4"); | |
169 | |
170 // Test uncommon arguments for appendItem(). | |
171 assert_throws(new TypeError(), function() { text1.x.baseVal.appendItem(30); }) ; | |
172 assert_throws(new TypeError(), function() { text1.x.baseVal.appendItem('aStrin g'); }); | |
173 assert_throws(new TypeError(), function() { text1.x.baseVal.appendItem(text1); }); | |
174 assert_throws(new TypeError(), function() { text1.x.baseVal.appendItem(null); }); | |
175 | |
176 // Testing animVal clear throws. | |
177 assert_throws("NoModificationAllowedError", function() { text1.x.animVal.clear (); }); | |
178 text1.x.baseVal.clear(); | |
179 }); | |
180 </script> | |
OLD | NEW |