Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(199)

Side by Side Diff: tests/html/htmlcollection_test.dart

Issue 11016015: Removing ElementList. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fixes for dartium? Created 8 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « tests/html/element_test.dart ('k') | tests/html/node_test.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #library('ElementListTest'); 1 #library('ElementListTest');
2 #import('../../pkg/unittest/unittest.dart'); 2 #import('../../pkg/unittest/unittest.dart');
3 #import('../../pkg/unittest/html_config.dart'); 3 #import('../../pkg/unittest/html_config.dart');
4 #import('dart:html'); 4 #import('dart:html');
5 5
6 // Test that ElementList implements List<T> 6 // Test that List<Element> implements List<T>
7 main() { 7 main() {
8 Element insertTestDiv() { 8 Element insertTestDiv() {
9 Element element = new Element.tag('div'); 9 Element element = new Element.tag('div');
10 element.innerHTML = r""" 10 element.innerHTML = r"""
11 <div id='allChecked'> 11 <div id='allChecked'>
12 <input type="checkbox" name="c1" value="1" checked="yes"> 12 <input type="checkbox" name="c1" value="1" checked="yes">
13 <input type="checkbox" name="c2" value="2" checked="yes"> 13 <input type="checkbox" name="c2" value="2" checked="yes">
14 <input type="checkbox" name="c3" value="3" checked="yes"> 14 <input type="checkbox" name="c3" value="3" checked="yes">
15 <input type="checkbox" name="c4" value="4" checked="yes"> 15 <input type="checkbox" name="c4" value="4" checked="yes">
16 </div> 16 </div>
(...skipping 12 matching lines...) Expand all
29 <div id='emptyDiv'></div> 29 <div id='emptyDiv'></div>
30 """; 30 """;
31 document.body.nodes.add(element); 31 document.body.nodes.add(element);
32 return element; 32 return element;
33 } 33 }
34 34
35 useHtmlConfiguration(); 35 useHtmlConfiguration();
36 test('IsList', () { 36 test('IsList', () {
37 Element root = insertTestDiv(); 37 Element root = insertTestDiv();
38 38
39 ElementList eachChecked = 39 List<Element> eachChecked =
40 document.query('#allChecked').elements; 40 document.query('#allChecked').elements;
41 41
42 Expect.isTrue(eachChecked is List); 42 Expect.isTrue(eachChecked is List);
43 43
44 root.remove(); 44 root.remove();
45 }); 45 });
46 test('Every', () { 46 test('Every', () {
47 Element root = insertTestDiv(); 47 Element root = insertTestDiv();
48 48
49 ElementList eachChecked = 49 List<Element> eachChecked =
50 document.query('#allChecked').elements; 50 document.query('#allChecked').elements;
51 51
52 ElementList someChecked = 52 List<Element> someChecked =
53 document.query('#someChecked').elements; 53 document.query('#someChecked').elements;
54 54
55 ElementList noneChecked = 55 List<Element> noneChecked =
56 document.query('#noneChecked').elements; 56 document.query('#noneChecked').elements;
57 57
58 Expect.equals(4, eachChecked.length); 58 Expect.equals(4, eachChecked.length);
59 Expect.equals(4, someChecked.length); 59 Expect.equals(4, someChecked.length);
60 Expect.equals(4, noneChecked.length); 60 Expect.equals(4, noneChecked.length);
61 61
62 Expect.isTrue(eachChecked.every((x) => x.checked)); 62 Expect.isTrue(eachChecked.every((x) => x.checked));
63 Expect.isFalse(eachChecked.every((x) => !x.checked)); 63 Expect.isFalse(eachChecked.every((x) => !x.checked));
64 Expect.isFalse(someChecked.every((x) => x.checked)); 64 Expect.isFalse(someChecked.every((x) => x.checked));
65 Expect.isFalse(someChecked.every((x) => !x.checked)); 65 Expect.isFalse(someChecked.every((x) => !x.checked));
66 Expect.isFalse(noneChecked.every((x) => x.checked)); 66 Expect.isFalse(noneChecked.every((x) => x.checked));
67 Expect.isTrue(noneChecked.every((x) => !x.checked)); 67 Expect.isTrue(noneChecked.every((x) => !x.checked));
68 68
69 root.remove(); 69 root.remove();
70 }); 70 });
71 test('Some', () { 71 test('Some', () {
72 Element root = insertTestDiv(); 72 Element root = insertTestDiv();
73 73
74 ElementList eachChecked = 74 List<Element> eachChecked =
75 document.query('#allChecked').elements; 75 document.query('#allChecked').elements;
76 76
77 ElementList someChecked = 77 List<Element> someChecked =
78 document.query('#someChecked').elements; 78 document.query('#someChecked').elements;
79 79
80 ElementList noneChecked = 80 List<Element> noneChecked =
81 document.query('#noneChecked').elements; 81 document.query('#noneChecked').elements;
82 82
83 Expect.equals(4, eachChecked.length); 83 Expect.equals(4, eachChecked.length);
84 Expect.equals(4, someChecked.length); 84 Expect.equals(4, someChecked.length);
85 Expect.equals(4, noneChecked.length); 85 Expect.equals(4, noneChecked.length);
86 86
87 Expect.isTrue(eachChecked.some((x) => x.checked)); 87 Expect.isTrue(eachChecked.some((x) => x.checked));
88 Expect.isFalse(eachChecked.some((x) => !x.checked)); 88 Expect.isFalse(eachChecked.some((x) => !x.checked));
89 Expect.isTrue(someChecked.some((x) => x.checked)); 89 Expect.isTrue(someChecked.some((x) => x.checked));
90 Expect.isTrue(someChecked.some((x) => !x.checked)); 90 Expect.isTrue(someChecked.some((x) => !x.checked));
91 Expect.isFalse(noneChecked.some((x) => x.checked)); 91 Expect.isFalse(noneChecked.some((x) => x.checked));
92 Expect.isTrue(noneChecked.some((x) => !x.checked)); 92 Expect.isTrue(noneChecked.some((x) => !x.checked));
93 93
94 root.remove(); 94 root.remove();
95 }); 95 });
96 test('Filter', () { 96 test('Filter', () {
97 Element root = insertTestDiv(); 97 Element root = insertTestDiv();
98 98
99 ElementList eachChecked = 99 List<Element> eachChecked =
100 document.query('#allChecked').elements; 100 document.query('#allChecked').elements;
101 101
102 ElementList someChecked = 102 List<Element> someChecked =
103 document.query('#someChecked').elements; 103 document.query('#someChecked').elements;
104 104
105 ElementList noneChecked = 105 List<Element> noneChecked =
106 document.query('#noneChecked').elements; 106 document.query('#noneChecked').elements;
107 107
108 Expect.equals(4, eachChecked.length); 108 Expect.equals(4, eachChecked.length);
109 Expect.equals(4, someChecked.length); 109 Expect.equals(4, someChecked.length);
110 Expect.equals(4, noneChecked.length); 110 Expect.equals(4, noneChecked.length);
111 111
112 Expect.equals(4, eachChecked.filter((x) => x.checked).length); 112 Expect.equals(4, eachChecked.filter((x) => x.checked).length);
113 Expect.equals(0, eachChecked.filter((x) => !x.checked).length); 113 Expect.equals(0, eachChecked.filter((x) => !x.checked).length);
114 Expect.equals(2, someChecked.filter((x) => x.checked).length); 114 Expect.equals(2, someChecked.filter((x) => x.checked).length);
115 Expect.equals(2, someChecked.filter((x) => !x.checked).length); 115 Expect.equals(2, someChecked.filter((x) => !x.checked).length);
116 Expect.equals(0, noneChecked.filter((x) => x.checked).length); 116 Expect.equals(0, noneChecked.filter((x) => x.checked).length);
117 Expect.equals(4, noneChecked.filter((x) => !x.checked).length); 117 Expect.equals(4, noneChecked.filter((x) => !x.checked).length);
118 118
119 root.remove(); 119 root.remove();
120 }); 120 });
121 test('IsEmpty', () { 121 test('IsEmpty', () {
122 Element root = insertTestDiv(); 122 Element root = insertTestDiv();
123 123
124 ElementList someChecked = 124 List<Element> someChecked =
125 document.query('#someChecked').elements; 125 document.query('#someChecked').elements;
126 126
127 ElementList emptyDiv = 127 List<Element> emptyDiv =
128 document.query('#emptyDiv').elements; 128 document.query('#emptyDiv').elements;
129 129
130 Expect.equals(4, someChecked.length); 130 Expect.equals(4, someChecked.length);
131 Expect.equals(0, emptyDiv.length); 131 Expect.equals(0, emptyDiv.length);
132 132
133 Expect.isFalse(someChecked.isEmpty()); 133 Expect.isFalse(someChecked.isEmpty());
134 Expect.isTrue(emptyDiv.isEmpty()); 134 Expect.isTrue(emptyDiv.isEmpty());
135 135
136 root.remove(); 136 root.remove();
137 }); 137 });
138 138
139 int countWithForEach(collection, predicate) { 139 int countWithForEach(collection, predicate) {
140 int count = 0; 140 int count = 0;
141 collection.forEach((element) { 141 collection.forEach((element) {
142 if (predicate(element)) count++; 142 if (predicate(element)) count++;
143 }); 143 });
144 return count; 144 return count;
145 } 145 }
146 146
147 test('ForEach', () { 147 test('ForEach', () {
148 Element root = insertTestDiv(); 148 Element root = insertTestDiv();
149 149
150 ElementList eachChecked = 150 List<Element> eachChecked =
151 document.query('#allChecked').elements; 151 document.query('#allChecked').elements;
152 152
153 ElementList someChecked = 153 List<Element> someChecked =
154 document.query('#someChecked').elements; 154 document.query('#someChecked').elements;
155 155
156 ElementList noneChecked = 156 List<Element> noneChecked =
157 document.query('#noneChecked').elements; 157 document.query('#noneChecked').elements;
158 158
159 Expect.equals(4, eachChecked.length); 159 Expect.equals(4, eachChecked.length);
160 Expect.equals(4, someChecked.length); 160 Expect.equals(4, someChecked.length);
161 Expect.equals(4, noneChecked.length); 161 Expect.equals(4, noneChecked.length);
162 162
163 Expect.equals(4, countWithForEach(eachChecked, (x) => x.checked)); 163 Expect.equals(4, countWithForEach(eachChecked, (x) => x.checked));
164 Expect.equals(0, countWithForEach(eachChecked, (x) => !x.checked)); 164 Expect.equals(0, countWithForEach(eachChecked, (x) => !x.checked));
165 Expect.equals(2, countWithForEach(someChecked, (x) => x.checked)); 165 Expect.equals(2, countWithForEach(someChecked, (x) => x.checked));
166 Expect.equals(2, countWithForEach(someChecked, (x) => !x.checked)); 166 Expect.equals(2, countWithForEach(someChecked, (x) => !x.checked));
167 Expect.equals(0, countWithForEach(noneChecked, (x) => x.checked)); 167 Expect.equals(0, countWithForEach(noneChecked, (x) => x.checked));
168 Expect.equals(4, countWithForEach(noneChecked, (x) => !x.checked)); 168 Expect.equals(4, countWithForEach(noneChecked, (x) => !x.checked));
169 169
170 root.remove(); 170 root.remove();
171 }); 171 });
172 172
173 int countWithForLoop(collection, predicate) { 173 int countWithForLoop(collection, predicate) {
174 int count = 0; 174 int count = 0;
175 for (var element in collection) { 175 for (var element in collection) {
176 if (predicate(element)) count++; 176 if (predicate(element)) count++;
177 } 177 }
178 return count; 178 return count;
179 } 179 }
180 180
181 test('ForLoop', () { // Uses iterator. 181 test('ForLoop', () { // Uses iterator.
182 Element root = insertTestDiv(); 182 Element root = insertTestDiv();
183 183
184 ElementList eachChecked = 184 List<Element> eachChecked =
185 document.query('#allChecked').elements; 185 document.query('#allChecked').elements;
186 186
187 ElementList someChecked = 187 List<Element> someChecked =
188 document.query('#someChecked').elements; 188 document.query('#someChecked').elements;
189 189
190 ElementList noneChecked = 190 List<Element> noneChecked =
191 document.query('#noneChecked').elements; 191 document.query('#noneChecked').elements;
192 192
193 Expect.equals(4, eachChecked.length); 193 Expect.equals(4, eachChecked.length);
194 Expect.equals(4, someChecked.length); 194 Expect.equals(4, someChecked.length);
195 Expect.equals(4, noneChecked.length); 195 Expect.equals(4, noneChecked.length);
196 196
197 Expect.equals(4, countWithForLoop(eachChecked, (x) => x.checked)); 197 Expect.equals(4, countWithForLoop(eachChecked, (x) => x.checked));
198 Expect.equals(0, countWithForLoop(eachChecked, (x) => !x.checked)); 198 Expect.equals(0, countWithForLoop(eachChecked, (x) => !x.checked));
199 Expect.equals(2, countWithForLoop(someChecked, (x) => x.checked)); 199 Expect.equals(2, countWithForLoop(someChecked, (x) => x.checked));
200 Expect.equals(2, countWithForLoop(someChecked, (x) => !x.checked)); 200 Expect.equals(2, countWithForLoop(someChecked, (x) => !x.checked));
201 Expect.equals(0, countWithForLoop(noneChecked, (x) => x.checked)); 201 Expect.equals(0, countWithForLoop(noneChecked, (x) => x.checked));
202 Expect.equals(4, countWithForLoop(noneChecked, (x) => !x.checked)); 202 Expect.equals(4, countWithForLoop(noneChecked, (x) => !x.checked));
203 203
204 root.remove(); 204 root.remove();
205 }); 205 });
206 test('Last', () { 206 test('Last', () {
207 Element root = insertTestDiv(); 207 Element root = insertTestDiv();
208 208
209 ElementList someChecked = 209 List<Element> someChecked =
210 document.query('#someChecked').elements; 210 document.query('#someChecked').elements;
211 211
212 Expect.equals(4, someChecked.length); 212 Expect.equals(4, someChecked.length);
213 213
214 Expect.equals(someChecked[3], someChecked.last()); 214 Expect.equals(someChecked[3], someChecked.last());
215 215
216 root.remove(); 216 root.remove();
217 }); 217 });
218 test('IndexOf', () { 218 test('IndexOf', () {
219 Element root = insertTestDiv(); 219 Element root = insertTestDiv();
220 220
221 ElementList someChecked = 221 List<Element> someChecked =
222 document.query('#someChecked').elements; 222 document.query('#someChecked').elements;
223 223
224 ElementList noneChecked = 224 List<Element> noneChecked =
225 document.query('#noneChecked').elements; 225 document.query('#noneChecked').elements;
226 226
227 Expect.equals(4, someChecked.length); 227 Expect.equals(4, someChecked.length);
228 Expect.equals(4, noneChecked.length); 228 Expect.equals(4, noneChecked.length);
229 229
230 Expect.equals(0, someChecked.indexOf(someChecked[0], 0)); 230 Expect.equals(0, someChecked.indexOf(someChecked[0], 0));
231 Expect.equals(1, someChecked.indexOf(someChecked[1], 0)); 231 Expect.equals(1, someChecked.indexOf(someChecked[1], 0));
232 Expect.equals(2, someChecked.indexOf(someChecked[2], 0)); 232 Expect.equals(2, someChecked.indexOf(someChecked[2], 0));
233 Expect.equals(3, someChecked.indexOf(someChecked[3], 0)); 233 Expect.equals(3, someChecked.indexOf(someChecked[3], 0));
234 234
235 Expect.equals(-1, someChecked.indexOf(someChecked[0], 1)); 235 Expect.equals(-1, someChecked.indexOf(someChecked[0], 1));
236 Expect.equals(-1, someChecked.indexOf(someChecked[1], 2)); 236 Expect.equals(-1, someChecked.indexOf(someChecked[1], 2));
237 Expect.equals(-1, someChecked.indexOf(someChecked[2], 3)); 237 Expect.equals(-1, someChecked.indexOf(someChecked[2], 3));
238 Expect.equals(-1, someChecked.indexOf(someChecked[3], 4)); 238 Expect.equals(-1, someChecked.indexOf(someChecked[3], 4));
239 239
240 240
241 Expect.equals(-1, someChecked.indexOf(noneChecked[0], 0)); 241 Expect.equals(-1, someChecked.indexOf(noneChecked[0], 0));
242 Expect.equals(-1, noneChecked.indexOf(someChecked[0], 0)); 242 Expect.equals(-1, noneChecked.indexOf(someChecked[0], 0));
243 Expect.equals(-1, someChecked.indexOf(noneChecked[1], 0)); 243 Expect.equals(-1, someChecked.indexOf(noneChecked[1], 0));
244 Expect.equals(-1, noneChecked.indexOf(someChecked[1], 0)); 244 Expect.equals(-1, noneChecked.indexOf(someChecked[1], 0));
245 245
246 root.remove(); 246 root.remove();
247 }); 247 });
248 test('LastIndexOf', () { 248 test('LastIndexOf', () {
249 Element root = insertTestDiv(); 249 Element root = insertTestDiv();
250 250
251 ElementList someChecked = 251 List<Element> someChecked =
252 document.query('#someChecked').elements; 252 document.query('#someChecked').elements;
253 253
254 ElementList noneChecked = 254 List<Element> noneChecked =
255 document.query('#noneChecked').elements; 255 document.query('#noneChecked').elements;
256 256
257 Expect.equals(4, someChecked.length); 257 Expect.equals(4, someChecked.length);
258 Expect.equals(4, noneChecked.length); 258 Expect.equals(4, noneChecked.length);
259 259
260 Expect.equals(0, someChecked.lastIndexOf(someChecked[0], 3)); 260 Expect.equals(0, someChecked.lastIndexOf(someChecked[0], 3));
261 Expect.equals(1, someChecked.lastIndexOf(someChecked[1], 3)); 261 Expect.equals(1, someChecked.lastIndexOf(someChecked[1], 3));
262 Expect.equals(2, someChecked.lastIndexOf(someChecked[2], 3)); 262 Expect.equals(2, someChecked.lastIndexOf(someChecked[2], 3));
263 Expect.equals(3, someChecked.lastIndexOf(someChecked[3], 3)); 263 Expect.equals(3, someChecked.lastIndexOf(someChecked[3], 3));
264 264
265 Expect.equals(-1, someChecked.lastIndexOf(someChecked[0], -1)); 265 Expect.equals(-1, someChecked.lastIndexOf(someChecked[0], -1));
266 Expect.equals(-1, someChecked.lastIndexOf(someChecked[1], 0)); 266 Expect.equals(-1, someChecked.lastIndexOf(someChecked[1], 0));
267 Expect.equals(-1, someChecked.lastIndexOf(someChecked[2], 1)); 267 Expect.equals(-1, someChecked.lastIndexOf(someChecked[2], 1));
268 Expect.equals(-1, someChecked.lastIndexOf(someChecked[3], 2)); 268 Expect.equals(-1, someChecked.lastIndexOf(someChecked[3], 2));
269 269
270 Expect.equals(-1, someChecked.lastIndexOf(noneChecked[0], 3)); 270 Expect.equals(-1, someChecked.lastIndexOf(noneChecked[0], 3));
271 Expect.equals(-1, noneChecked.lastIndexOf(someChecked[0], 3)); 271 Expect.equals(-1, noneChecked.lastIndexOf(someChecked[0], 3));
272 Expect.equals(-1, someChecked.lastIndexOf(noneChecked[1], 3)); 272 Expect.equals(-1, someChecked.lastIndexOf(noneChecked[1], 3));
273 Expect.equals(-1, noneChecked.lastIndexOf(someChecked[1], 3)); 273 Expect.equals(-1, noneChecked.lastIndexOf(someChecked[1], 3));
274 274
275 root.remove(); 275 root.remove();
276 }); 276 });
277 } 277 }
OLDNEW
« no previous file with comments | « tests/html/element_test.dart ('k') | tests/html/node_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698