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

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

Issue 11406002: Revert run large html tests individually. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 1 month 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 | « no previous file | tests/html/html.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library ElementTest; 5 library ElementTest;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_individual_config.dart'; 7 import '../../pkg/unittest/lib/html_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 9
10 expectLargeRect(ClientRect rect) { 10 expectLargeRect(ClientRect rect) {
11 expect(rect.top, 0); 11 expect(rect.top, 0);
12 expect(rect.left, 0); 12 expect(rect.left, 0);
13 expect(rect.width, greaterThan(100)); 13 expect(rect.width, greaterThan(100));
14 expect(rect.height, greaterThan(100)); 14 expect(rect.height, greaterThan(100));
15 expect(rect.bottom, rect.top + rect.height); 15 expect(rect.bottom, rect.top + rect.height);
16 expect(rect.right, rect.left + rect.width); 16 expect(rect.right, rect.left + rect.width);
17 } 17 }
(...skipping 28 matching lines...) Expand all
46 46
47 void testConstructorHelper(String tag, String htmlSnippet, 47 void testConstructorHelper(String tag, String htmlSnippet,
48 String expectedText, Function isExpectedClass) { 48 String expectedText, Function isExpectedClass) {
49 expect(isExpectedClass(new Element.tag(tag)), isTrue); 49 expect(isExpectedClass(new Element.tag(tag)), isTrue);
50 final elementFromSnippet = new Element.html(htmlSnippet); 50 final elementFromSnippet = new Element.html(htmlSnippet);
51 expect(isExpectedClass(elementFromSnippet), isTrue); 51 expect(isExpectedClass(elementFromSnippet), isTrue);
52 expect(elementFromSnippet.text, expectedText); 52 expect(elementFromSnippet.text, expectedText);
53 } 53 }
54 54
55 main() { 55 main() {
56 useHtmlIndividualConfiguration(); 56 useHtmlConfiguration();
57 57
58 var isHRElement = predicate((x) => x is HRElement, 'is a HRElement'); 58 var isHRElement = predicate((x) => x is HRElement, 'is a HRElement');
59 var isBRElement = predicate((x) => x is BRElement, 'is a BRElement'); 59 var isBRElement = predicate((x) => x is BRElement, 'is a BRElement');
60 var isInputElement = 60 var isInputElement =
61 predicate((x) => x is InputElement, 'is an InputElement'); 61 predicate((x) => x is InputElement, 'is an InputElement');
62 var isImageElement = 62 var isImageElement =
63 predicate((x) => x is ImageElement, 'is an ImageElement'); 63 predicate((x) => x is ImageElement, 'is an ImageElement');
64 var isSpanElement = predicate((x) => x is SpanElement, 'is a SpanElement'); 64 var isSpanElement = predicate((x) => x is SpanElement, 'is a SpanElement');
65 var isAnchorElement = 65 var isAnchorElement =
66 predicate((x) => x is AnchorElement, 'is an AnchorElement'); 66 predicate((x) => x is AnchorElement, 'is an AnchorElement');
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 expect(element.clientHeight, greaterThan(100)); 118 expect(element.clientHeight, greaterThan(100));
119 expect(element.offsetWidth, greaterThan(100)); 119 expect(element.offsetWidth, greaterThan(100));
120 expect(element.offsetHeight, greaterThan(100)); 120 expect(element.offsetHeight, greaterThan(100));
121 expect(element.scrollWidth, greaterThan(100)); 121 expect(element.scrollWidth, greaterThan(100));
122 expect(element.scrollHeight, greaterThan(100)); 122 expect(element.scrollHeight, greaterThan(100));
123 expect(element.getBoundingClientRect().left, 8); 123 expect(element.getBoundingClientRect().left, 8);
124 expect(element.getBoundingClientRect().top, 8); 124 expect(element.getBoundingClientRect().top, 8);
125 container.remove(); 125 container.remove();
126 }); 126 });
127 127
128 group('additionalConstructors', () {
129 test('blockquote', () => testConstructorHelper('blockquote',
130 '<blockquote>foo</blockquote>', 'foo',
131 (element) => element is QuoteElement));
132 test('body', () => testConstructorHelper('body',
133 '<body><div>foo</div></body>', 'foo',
134 (element) => element is BodyElement));
135 test('head', () => testConstructorHelper('head',
136 '<head><script>foo;</script></head>', 'foo;',
137 (element) => element is HeadElement));
138 test('optgroup', () => testConstructorHelper('optgroup',
139 '<optgroup>foo</optgroup>', 'foo',
140 (element) => element is OptGroupElement));
141 test('option', () => testConstructorHelper('option',
142 '<option>foo</option>', 'foo',
143 (element) => element is OptionElement));
144 test('output', () => testConstructorHelper('output',
145 '<output>foo</output>', 'foo',
146 (element) => element is OutputElement));
147 test('progress', () => testConstructorHelper('progress',
148 '<progress>foo</progress>', 'foo',
149 (element) => element is ProgressElement));
150 test('caption', () => testConstructorHelper('caption',
151 '<caption>foo</caption>', 'foo',
152 (element) => element is TableCaptionElement));
153 test('td', () => testConstructorHelper('td', '<td>foo</td>', 'foo',
154 (element) => element is TableCellElement));
155 test('colgroup', () => testConstructorHelper('colgroup',
156 '<colgroup></colgroup>', '',
157 (element) => element is TableColElement));
158 test('col', () => testConstructorHelper('col', '<col></col>', '',
159 (element) => element is TableColElement));
160 test('tr', () => testConstructorHelper('tr',
161 '<tr><td>foo</td></tr>', 'foo',
162 (element) => element is TableRowElement));
163 test('tbody', () => testConstructorHelper('tbody',
164 '<tbody><tr><td>foo</td></tr></tbody>', 'foo',
165 (element) => element is TableSectionElement));
166 test('tfoot', () => testConstructorHelper('tfoot',
167 '<tfoot><tr><td>foo</td></tr></tfoot>', 'foo',
168 (element) => element is TableSectionElement));
169 test('thead', () => testConstructorHelper('thead',
170 '<thead><tr><td>foo</td></tr></thead>', 'foo',
171 (element) => element is TableSectionElement));
172 });
173
174 group('constructors', () { 128 group('constructors', () {
175 test('error', () { 129 test('error', () {
176 expect(() => new Element.html('<br/><br/>'), throwsArgumentError); 130 expect(() => new Element.html('<br/><br/>'), throwsArgumentError);
177 }); 131 });
178 132
179 test('.html has no parent', () => 133 test('.html has no parent', () =>
180 expect(new Element.html('<br/>').parent, isNull)); 134 expect(new Element.html('<br/>').parent, isNull));
181 135
182 test('a', () => testConstructorHelper('a', '<a>foo</a>', 'foo', 136 test('a', () => testConstructorHelper('a', '<a>foo</a>', 'foo',
183 (element) => element is AnchorElement)); 137 (element) => element is AnchorElement));
184 test('area', () => testConstructorHelper('area', '<area>foo</area>', '', 138 test('area', () => testConstructorHelper('area', '<area>foo</area>', '',
185 (element) => element is AreaElement)); 139 (element) => element is AreaElement));
186 // TODO(jacobr): audio tags cause tests to segfault when using dartium. 140 // TODO(jacobr): audio tags cause tests to segfault when using dartium.
187 // b/5522106. 141 // b/5522106.
188 // test('audio', () => testConstructorHelper('audio', 142 // test('audio', () => testConstructorHelper('audio',
189 // '<audio>foo</audio>', 'foo', 143 // '<audio>foo</audio>', 'foo',
190 // (element) => element is AudioElement)); 144 // (element) => element is AudioElement));
191 test('br', () => testConstructorHelper('br', '<br>', '', 145 test('br', () => testConstructorHelper('br', '<br>', '',
192 (element) => element is BRElement)); 146 (element) => element is BRElement));
193 test('base', () => testConstructorHelper('base', '<base>foo</base>', '', 147 test('base', () => testConstructorHelper('base', '<base>foo</base>', '',
194 (element) => element is BaseElement)); 148 (element) => element is BaseElement));
149 test('blockquote', () => testConstructorHelper('blockquote',
150 '<blockquote>foo</blockquote>', 'foo',
151 (element) => element is QuoteElement));
152 test('body', () => testConstructorHelper('body',
153 '<body><div>foo</div></body>', 'foo',
154 (element) => element is BodyElement));
195 test('button', () => testConstructorHelper('button', 155 test('button', () => testConstructorHelper('button',
196 '<button>foo</button>', 'foo', 156 '<button>foo</button>', 'foo',
197 (element) => element is ButtonElement)); 157 (element) => element is ButtonElement));
198 test('canvas', () => testConstructorHelper('canvas', 158 test('canvas', () => testConstructorHelper('canvas',
199 '<canvas>foo</canvas>', 'foo', 159 '<canvas>foo</canvas>', 'foo',
200 (element) => element is CanvasElement)); 160 (element) => element is CanvasElement));
201 test('dl', () => testConstructorHelper('dl', '<dl>foo</dl>', 'foo', 161 test('dl', () => testConstructorHelper('dl', '<dl>foo</dl>', 'foo',
202 (element) => element is DListElement)); 162 (element) => element is DListElement));
203 // TODO(jacobr): WebKit doesn't yet support the DataList class. 163 // TODO(jacobr): WebKit doesn't yet support the DataList class.
204 // test('datalist', () => testConstructorHelper('datalist', 164 // test('datalist', () => testConstructorHelper('datalist',
205 // '<datalist>foo</datalist>', 'foo', 165 // '<datalist>foo</datalist>', 'foo',
206 // (element) => element is DataListElement)); 166 // (element) => element is DataListElement));
207 test('div', () => testConstructorHelper('div', '<div>foo</div>', 'foo', 167 test('div', () => testConstructorHelper('div', '<div>foo</div>', 'foo',
208 (element) => element is DivElement)); 168 (element) => element is DivElement));
209 test('fieldset', () => testConstructorHelper('fieldset', 169 test('fieldset', () => testConstructorHelper('fieldset',
210 '<fieldset>foo</fieldset>', 'foo', 170 '<fieldset>foo</fieldset>', 'foo',
211 (element) => element is FieldSetElement)); 171 (element) => element is FieldSetElement));
212 test('font', () => testConstructorHelper('font', '<font>foo</font>', 'foo', 172 test('font', () => testConstructorHelper('font', '<font>foo</font>', 'foo',
213 (element) => element is FontElement)); 173 (element) => element is FontElement));
214 test('form', () => testConstructorHelper('form', '<form>foo</form>', 'foo', 174 test('form', () => testConstructorHelper('form', '<form>foo</form>', 'foo',
215 (element) => element is FormElement)); 175 (element) => element is FormElement));
216 test('hr', () => testConstructorHelper('hr', '<hr>', '', 176 test('hr', () => testConstructorHelper('hr', '<hr>', '',
217 (element) => element is HRElement)); 177 (element) => element is HRElement));
178 test('head', () => testConstructorHelper('head',
179 '<head><script>foo;</script></head>', 'foo;',
180 (element) => element is HeadElement));
218 test('h1', () => testConstructorHelper('h1', '<h1>foo</h1>', 'foo', 181 test('h1', () => testConstructorHelper('h1', '<h1>foo</h1>', 'foo',
219 (element) => element is HeadingElement)); 182 (element) => element is HeadingElement));
220 test('h2', () => testConstructorHelper('h2', '<h2>foo</h2>', 'foo', 183 test('h2', () => testConstructorHelper('h2', '<h2>foo</h2>', 'foo',
221 (element) => element is HeadingElement)); 184 (element) => element is HeadingElement));
222 test('h3', () => testConstructorHelper('h3', '<h3>foo</h3>', 'foo', 185 test('h3', () => testConstructorHelper('h3', '<h3>foo</h3>', 'foo',
223 (element) => element is HeadingElement)); 186 (element) => element is HeadingElement));
224 test('h4', () => testConstructorHelper('h4', '<h4>foo</h4>', 'foo', 187 test('h4', () => testConstructorHelper('h4', '<h4>foo</h4>', 'foo',
225 (element) => element is HeadingElement)); 188 (element) => element is HeadingElement));
226 test('h5', () => testConstructorHelper('h5', '<h5>foo</h5>', 'foo', 189 test('h5', () => testConstructorHelper('h5', '<h5>foo</h5>', 'foo',
227 (element) => element is HeadingElement)); 190 (element) => element is HeadingElement));
(...skipping 21 matching lines...) Expand all
249 test('menu', () => testConstructorHelper('menu', '<menu>foo</menu>', 'foo', 212 test('menu', () => testConstructorHelper('menu', '<menu>foo</menu>', 'foo',
250 (element) => element is MenuElement)); 213 (element) => element is MenuElement));
251 test('meta', () => testConstructorHelper('meta', '<meta>', '', 214 test('meta', () => testConstructorHelper('meta', '<meta>', '',
252 (element) => element is MetaElement)); 215 (element) => element is MetaElement));
253 test('del', () => testConstructorHelper('del', '<del>foo</del>', 'foo', 216 test('del', () => testConstructorHelper('del', '<del>foo</del>', 'foo',
254 (element) => element is ModElement)); 217 (element) => element is ModElement));
255 test('ins', () => testConstructorHelper('ins', '<ins>foo</ins>', 'foo', 218 test('ins', () => testConstructorHelper('ins', '<ins>foo</ins>', 'foo',
256 (element) => element is ModElement)); 219 (element) => element is ModElement));
257 test('ol', () => testConstructorHelper('ol', '<ol>foo</ol>', 'foo', 220 test('ol', () => testConstructorHelper('ol', '<ol>foo</ol>', 'foo',
258 (element) => element is OListElement)); 221 (element) => element is OListElement));
222 test('optgroup', () => testConstructorHelper('optgroup',
223 '<optgroup>foo</optgroup>', 'foo',
224 (element) => element is OptGroupElement));
225 test('option', () => testConstructorHelper('option',
226 '<option>foo</option>', 'foo',
227 (element) => element is OptionElement));
228 test('output', () => testConstructorHelper('output',
229 '<output>foo</output>', 'foo',
230 (element) => element is OutputElement));
259 test('p', () => testConstructorHelper('p', '<p>foo</p>', 'foo', 231 test('p', () => testConstructorHelper('p', '<p>foo</p>', 'foo',
260 (element) => element is ParagraphElement)); 232 (element) => element is ParagraphElement));
261 test('param', () => testConstructorHelper('param', '<param>', '', 233 test('param', () => testConstructorHelper('param', '<param>', '',
262 (element) => element is ParamElement)); 234 (element) => element is ParamElement));
263 test('pre', () => testConstructorHelper('pre', '<pre>foo</pre>', 'foo', 235 test('pre', () => testConstructorHelper('pre', '<pre>foo</pre>', 'foo',
264 (element) => element is PreElement)); 236 (element) => element is PreElement));
237 test('progress', () => testConstructorHelper('progress',
238 '<progress>foo</progress>', 'foo',
239 (element) => element is ProgressElement));
265 test('q', () => testConstructorHelper('q', '<q>foo</q>', 'foo', 240 test('q', () => testConstructorHelper('q', '<q>foo</q>', 'foo',
266 (element) => element is QuoteElement)); 241 (element) => element is QuoteElement));
267 test('script', () => testConstructorHelper('script', 242 test('script', () => testConstructorHelper('script',
268 '<script>foo</script>', 'foo', 243 '<script>foo</script>', 'foo',
269 (element) => element is ScriptElement)); 244 (element) => element is ScriptElement));
270 test('select', () => testConstructorHelper('select', 245 test('select', () => testConstructorHelper('select',
271 '<select>foo</select>', 'foo', 246 '<select>foo</select>', 'foo',
272 (element) => element is SelectElement)); 247 (element) => element is SelectElement));
273 // TODO(jacobr): audio tags cause tests to segfault when using dartium. 248 // TODO(jacobr): audio tags cause tests to segfault when using dartium.
274 // b/5522106. 249 // b/5522106.
275 // test('source', () => testConstructorHelper('source', '<source>', '', 250 // test('source', () => testConstructorHelper('source', '<source>', '',
276 // (element) => element is SourceElement)); 251 // (element) => element is SourceElement));
277 test('span', () => testConstructorHelper('span', '<span>foo</span>', 'foo', 252 test('span', () => testConstructorHelper('span', '<span>foo</span>', 'foo',
278 (element) => element is SpanElement)); 253 (element) => element is SpanElement));
279 test('style', () => testConstructorHelper('style', 254 test('style', () => testConstructorHelper('style',
280 '<style>foo</style>', 'foo', 255 '<style>foo</style>', 'foo',
281 (element) => element is StyleElement)); 256 (element) => element is StyleElement));
257 test('caption', () => testConstructorHelper('caption',
258 '<caption>foo</caption>', 'foo',
259 (element) => element is TableCaptionElement));
260 test('td', () => testConstructorHelper('td', '<td>foo</td>', 'foo',
261 (element) => element is TableCellElement));
262 test('colgroup', () => testConstructorHelper('colgroup',
263 '<colgroup></colgroup>', '',
264 (element) => element is TableColElement));
265 test('col', () => testConstructorHelper('col', '<col></col>', '',
266 (element) => element is TableColElement));
282 test('table', () => testConstructorHelper('table', 267 test('table', () => testConstructorHelper('table',
283 '<table><caption>foo</caption></table>', 'foo', 268 '<table><caption>foo</caption></table>', 'foo',
284 (element) => element is TableElement)); 269 (element) => element is TableElement));
270 test('tr', () => testConstructorHelper('tr',
271 '<tr><td>foo</td></tr>', 'foo',
272 (element) => element is TableRowElement));
273 test('tbody', () => testConstructorHelper('tbody',
274 '<tbody><tr><td>foo</td></tr></tbody>', 'foo',
275 (element) => element is TableSectionElement));
276 test('tfoot', () => testConstructorHelper('tfoot',
277 '<tfoot><tr><td>foo</td></tr></tfoot>', 'foo',
278 (element) => element is TableSectionElement));
279 test('thead', () => testConstructorHelper('thead',
280 '<thead><tr><td>foo</td></tr></thead>', 'foo',
281 (element) => element is TableSectionElement));
285 test('textarea', () => testConstructorHelper('textarea', 282 test('textarea', () => testConstructorHelper('textarea',
286 '<textarea>foo</textarea>', 'foo', 283 '<textarea>foo</textarea>', 'foo',
287 (element) => element is TextAreaElement)); 284 (element) => element is TextAreaElement));
288 test('title', () => testConstructorHelper('title', 285 test('title', () => testConstructorHelper('title',
289 '<title>foo</title>', 'foo', 286 '<title>foo</title>', 'foo',
290 (element) => element is TitleElement)); 287 (element) => element is TitleElement));
291 // TODO(jacobr): audio tags cause tests to segfault when using dartium. 288 // TODO(jacobr): audio tags cause tests to segfault when using dartium.
292 // b/5522106. 289 // b/5522106.
293 // test('track', () => testConstructorHelper('track', '<track>', '', 290 // test('track', () => testConstructorHelper('track', '<track>', '',
294 // (element) => element is TrackElement)); 291 // (element) => element is TrackElement));
295 test('ul', () => testConstructorHelper('ul', '<ul>foo</ul>', 'foo', 292 test('ul', () => testConstructorHelper('ul', '<ul>foo</ul>', 'foo',
296 (element) => element is UListElement)); 293 (element) => element is UListElement));
297 // TODO(jacobr): video tags cause tests to segfault when using dartium. 294 // TODO(jacobr): video tags cause tests to segfault when using dartium.
298 // b/5522106. 295 // b/5522106.
299 // test('video', () => testConstructorHelper('video', 296 // test('video', () => testConstructorHelper('video',
300 // '<video>foo</video>', 'foo', 297 // '<video>foo</video>', 'foo',
301 // (element) => element is VideoElement)); 298 // (element) => element is VideoElement));
302 // TODO(jacobr): this test is broken until Dartium fixes b/5521083 299 // TODO(jacobr): this test is broken until Dartium fixes b/5521083
303 // test('someunknown', () => testConstructorHelper('someunknown', 300 // test('someunknown', () => testConstructorHelper('someunknown',
304 // '<someunknown>foo</someunknown>', 'foo', 301 // '<someunknown>foo</someunknown>', 'foo',
305 // (element) => element is UnknownElement)); 302 // (element) => element is UnknownElement));
306 }); 303 });
307
308 group('eventListening', () {
309 test('eventListeners', () {
310 final element = new Element.tag('div');
311 final on = element.on;
312 304
313 testEventHelper(on.abort, 'abort', 305 test('eventListeners', () {
314 (listener) => Testing.addEventListener( 306 final element = new Element.tag('div');
315 element, 'abort', listener, true)); 307 final on = element.on;
316 testEventHelper(on.beforeCopy, 'beforecopy', 308
317 (listener) => Testing.addEventListener( 309 testEventHelper(on.abort, 'abort',
318 element, 'beforecopy', listener, true)); 310 (listener) => Testing.addEventListener(
319 testEventHelper(on.beforeCut, 'beforecut', 311 element, 'abort', listener, true));
320 (listener) => Testing.addEventListener( 312 testEventHelper(on.beforeCopy, 'beforecopy',
321 element, 'beforecut', listener, true)); 313 (listener) => Testing.addEventListener(
322 testEventHelper(on.beforePaste, 'beforepaste', 314 element, 'beforecopy', listener, true));
323 (listener) => Testing.addEventListener( 315 testEventHelper(on.beforeCut, 'beforecut',
324 element, 'beforepaste', listener, true)); 316 (listener) => Testing.addEventListener(
325 testEventHelper(on.blur, 'blur', 317 element, 'beforecut', listener, true));
326 (listener) => Testing.addEventListener( 318 testEventHelper(on.beforePaste, 'beforepaste',
327 element, 'blur', listener, true)); 319 (listener) => Testing.addEventListener(
328 testEventHelper(on.change, 'change', 320 element, 'beforepaste', listener, true));
329 (listener) => Testing.addEventListener( 321 testEventHelper(on.blur, 'blur',
330 element, 'change', listener, true)); 322 (listener) => Testing.addEventListener(
331 testEventHelper(on.click, 'click', 323 element, 'blur', listener, true));
332 (listener) => Testing.addEventListener( 324 testEventHelper(on.change, 'change',
333 element, 'click', listener, true)); 325 (listener) => Testing.addEventListener(
334 testEventHelper(on.contextMenu, 'contextmenu', 326 element, 'change', listener, true));
335 (listener) => Testing.addEventListener( 327 testEventHelper(on.click, 'click',
336 element, 'contextmenu', listener, true)); 328 (listener) => Testing.addEventListener(
337 testEventHelper(on.copy, 'copy', 329 element, 'click', listener, true));
338 (listener) => Testing.addEventListener( 330 testEventHelper(on.contextMenu, 'contextmenu',
339 element, 'copy', listener, true)); 331 (listener) => Testing.addEventListener(
340 testEventHelper(on.cut, 'cut', 332 element, 'contextmenu', listener, true));
341 (listener) => Testing.addEventListener( 333 testEventHelper(on.copy, 'copy',
342 element, 'cut', listener, true)); 334 (listener) => Testing.addEventListener(
343 testEventHelper(on.doubleClick, 'dblclick', 335 element, 'copy', listener, true));
344 (listener) => Testing.addEventListener( 336 testEventHelper(on.cut, 'cut',
345 element, 'dblclick', listener, true)); 337 (listener) => Testing.addEventListener(
346 testEventHelper(on.drag, 'drag', 338 element, 'cut', listener, true));
347 (listener) => Testing.addEventListener( 339 testEventHelper(on.doubleClick, 'dblclick',
348 element, 'drag', listener, true)); 340 (listener) => Testing.addEventListener(
349 testEventHelper(on.dragEnd, 'dragend', 341 element, 'dblclick', listener, true));
350 (listener) => Testing.addEventListener( 342 testEventHelper(on.drag, 'drag',
351 element, 'dragend', listener, true)); 343 (listener) => Testing.addEventListener(
352 testEventHelper(on.dragEnter, 'dragenter', 344 element, 'drag', listener, true));
353 (listener) => Testing.addEventListener( 345 testEventHelper(on.dragEnd, 'dragend',
354 element, 'dragenter', listener, true)); 346 (listener) => Testing.addEventListener(
355 testEventHelper(on.dragLeave, 'dragleave', 347 element, 'dragend', listener, true));
356 (listener) => Testing.addEventListener( 348 testEventHelper(on.dragEnter, 'dragenter',
357 element, 'dragleave', listener, true)); 349 (listener) => Testing.addEventListener(
358 testEventHelper(on.dragOver, 'dragover', 350 element, 'dragenter', listener, true));
359 (listener) => Testing.addEventListener( 351 testEventHelper(on.dragLeave, 'dragleave',
360 element, 'dragover', listener, true)); 352 (listener) => Testing.addEventListener(
361 testEventHelper(on.dragStart, 'dragstart', 353 element, 'dragleave', listener, true));
362 (listener) => Testing.addEventListener( 354 testEventHelper(on.dragOver, 'dragover',
363 element, 'dragstart', listener, true)); 355 (listener) => Testing.addEventListener(
364 testEventHelper(on.drop, 'drop', 356 element, 'dragover', listener, true));
365 (listener) => Testing.addEventListener( 357 testEventHelper(on.dragStart, 'dragstart',
366 element, 'drop', listener, true)); 358 (listener) => Testing.addEventListener(
367 testEventHelper(on.error, 'error', 359 element, 'dragstart', listener, true));
368 (listener) => Testing.addEventListener( 360 testEventHelper(on.drop, 'drop',
369 element, 'error', listener, true)); 361 (listener) => Testing.addEventListener(
370 testEventHelper(on.focus, 'focus', 362 element, 'drop', listener, true));
371 (listener) => Testing.addEventListener( 363 testEventHelper(on.error, 'error',
372 element, 'focus', listener, true)); 364 (listener) => Testing.addEventListener(
373 testEventHelper(on.input, 'input', 365 element, 'error', listener, true));
374 (listener) => Testing.addEventListener( 366 testEventHelper(on.focus, 'focus',
375 element, 'input', listener, true)); 367 (listener) => Testing.addEventListener(
376 testEventHelper(on.invalid, 'invalid', 368 element, 'focus', listener, true));
377 (listener) => Testing.addEventListener( 369 testEventHelper(on.input, 'input',
378 element, 'invalid', listener, true)); 370 (listener) => Testing.addEventListener(
379 testEventHelper(on.keyDown, 'keydown', 371 element, 'input', listener, true));
380 (listener) => Testing.addEventListener( 372 testEventHelper(on.invalid, 'invalid',
381 element, 'keydown', listener, true)); 373 (listener) => Testing.addEventListener(
382 testEventHelper(on.keyPress, 'keypress', 374 element, 'invalid', listener, true));
383 (listener) => Testing.addEventListener( 375 testEventHelper(on.keyDown, 'keydown',
384 element, 'keypress', listener, true)); 376 (listener) => Testing.addEventListener(
385 testEventHelper(on.keyUp, 'keyup', 377 element, 'keydown', listener, true));
386 (listener) => Testing.addEventListener( 378 testEventHelper(on.keyPress, 'keypress',
387 element, 'keyup', listener, true)); 379 (listener) => Testing.addEventListener(
388 testEventHelper(on.load, 'load', 380 element, 'keypress', listener, true));
389 (listener) => Testing.addEventListener( 381 testEventHelper(on.keyUp, 'keyup',
390 element, 'load', listener, true)); 382 (listener) => Testing.addEventListener(
391 testEventHelper(on.mouseDown, 'mousedown', 383 element, 'keyup', listener, true));
392 (listener) => Testing.addEventListener( 384 testEventHelper(on.load, 'load',
393 element, 'mousedown', listener, true)); 385 (listener) => Testing.addEventListener(
394 testEventHelper(on.mouseMove, 'mousemove', 386 element, 'load', listener, true));
395 (listener) => Testing.addEventListener( 387 testEventHelper(on.mouseDown, 'mousedown',
396 element, 'mousemove', listener, true)); 388 (listener) => Testing.addEventListener(
397 testEventHelper(on.mouseOut, 'mouseout', 389 element, 'mousedown', listener, true));
398 (listener) => Testing.addEventListener( 390 testEventHelper(on.mouseMove, 'mousemove',
399 element, 'mouseout', listener, true)); 391 (listener) => Testing.addEventListener(
400 testEventHelper(on.mouseOver, 'mouseover', 392 element, 'mousemove', listener, true));
401 (listener) => Testing.addEventListener( 393 testEventHelper(on.mouseOut, 'mouseout',
402 element, 'mouseover', listener, true)); 394 (listener) => Testing.addEventListener(
403 testEventHelper(on.mouseUp, 'mouseup', 395 element, 'mouseout', listener, true));
404 (listener) => Testing.addEventListener( 396 testEventHelper(on.mouseOver, 'mouseover',
405 element, 'mouseup', listener, true)); 397 (listener) => Testing.addEventListener(
406 // Browsers have different events that they use, so fire all variants. 398 element, 'mouseover', listener, true));
407 testMultipleEventHelper(on.mouseWheel, 399 testEventHelper(on.mouseUp, 'mouseup',
408 ['mousewheel', 'wheel', 'DOMMouseScroll'], 400 (listener) => Testing.addEventListener(
409 (listener) => Testing.addEventListener( 401 element, 'mouseup', listener, true));
410 element, 'mousewheel', listener, true)); 402 // Browsers have different events that they use, so fire all variants.
411 testEventHelper(on.paste, 'paste', 403 testMultipleEventHelper(on.mouseWheel,
412 (listener) => Testing.addEventListener( 404 ['mousewheel', 'wheel', 'DOMMouseScroll'],
413 element, 'paste', listener, true)); 405 (listener) => Testing.addEventListener(
414 testEventHelper(on.reset, 'reset', 406 element, 'mousewheel', listener, true));
415 (listener) => Testing.addEventListener( 407 testEventHelper(on.paste, 'paste',
416 element, 'reset', listener, true)); 408 (listener) => Testing.addEventListener(
417 testEventHelper(on.scroll, 'scroll', 409 element, 'paste', listener, true));
418 (listener) => Testing.addEventListener( 410 testEventHelper(on.reset, 'reset',
419 element, 'scroll', listener, true)); 411 (listener) => Testing.addEventListener(
420 testEventHelper(on.search, 'search', 412 element, 'reset', listener, true));
421 (listener) => Testing.addEventListener( 413 testEventHelper(on.scroll, 'scroll',
422 element, 'search', listener, true)); 414 (listener) => Testing.addEventListener(
423 testEventHelper(on.select, 'select', 415 element, 'scroll', listener, true));
424 (listener) => Testing.addEventListener( 416 testEventHelper(on.search, 'search',
425 element, 'select', listener, true)); 417 (listener) => Testing.addEventListener(
426 testEventHelper(on.selectStart, 'selectstart', 418 element, 'search', listener, true));
427 (listener) => Testing.addEventListener( 419 testEventHelper(on.select, 'select',
428 element, 'selectstart', listener, true)); 420 (listener) => Testing.addEventListener(
429 testEventHelper(on.submit, 'submit', 421 element, 'select', listener, true));
430 (listener) => Testing.addEventListener( 422 testEventHelper(on.selectStart, 'selectstart',
431 element, 'submit', listener, true)); 423 (listener) => Testing.addEventListener(
432 testEventHelper(on.touchCancel, 'touchcancel', 424 element, 'selectstart', listener, true));
433 (listener) => Testing.addEventListener( 425 testEventHelper(on.submit, 'submit',
434 element, 'touchcancel', listener, true)); 426 (listener) => Testing.addEventListener(
435 testEventHelper(on.touchEnd, 'touchend', 427 element, 'submit', listener, true));
436 (listener) => Testing.addEventListener( 428 testEventHelper(on.touchCancel, 'touchcancel',
437 element, 'touchend', listener, true)); 429 (listener) => Testing.addEventListener(
438 testEventHelper(on.touchLeave, 'touchleave'); 430 element, 'touchcancel', listener, true));
439 testEventHelper(on.touchMove, 'touchmove', 431 testEventHelper(on.touchEnd, 'touchend',
440 (listener) => Testing.addEventListener( 432 (listener) => Testing.addEventListener(
441 element, 'touchmove', listener, true)); 433 element, 'touchend', listener, true));
442 testEventHelper(on.touchStart, 'touchstart', 434 testEventHelper(on.touchLeave, 'touchleave');
443 (listener) => Testing.addEventListener( 435 testEventHelper(on.touchMove, 'touchmove',
444 element, 'touchstart', listener, true)); 436 (listener) => Testing.addEventListener(
445 }); 437 element, 'touchmove', listener, true));
438 testEventHelper(on.touchStart, 'touchstart',
439 (listener) => Testing.addEventListener(
440 element, 'touchstart', listener, true));
446 }); 441 });
447 442
448 group('attributes', () { 443 group('attributes', () {
449 test('coercion', () {
450 final element = new Element.tag('div');
451 element.attributes['foo'] = 42;
452 element.attributes['bar'] = 3.1;
453 expect(element.attributes['foo'], '42');
454 expect(element.attributes['bar'], '3.1');
455 });
456 test('manipulation', () { 444 test('manipulation', () {
457 final element = new Element.html( 445 final element = new Element.html(
458 '''<div class="foo" style="overflow: hidden" data-foo="bar" 446 '''<div class="foo" style="overflow: hidden" data-foo="bar"
459 data-foo2="bar2" dir="rtl"> 447 data-foo2="bar2" dir="rtl">
460 </div>'''); 448 </div>''');
461 final attributes = element.attributes; 449 final attributes = element.attributes;
462 expect(attributes['class'], 'foo'); 450 expect(attributes['class'], 'foo');
463 expect(attributes['style'], 'overflow: hidden'); 451 expect(attributes['style'], 'overflow: hidden');
464 expect(attributes['data-foo'], 'bar'); 452 expect(attributes['data-foo'], 'bar');
465 expect(attributes['data-foo2'], 'bar2'); 453 expect(attributes['data-foo2'], 'bar2');
(...skipping 12 matching lines...) Expand all
478 expect(attributes.length, 4); 466 expect(attributes.length, 4);
479 expect(dataAttributes.length, 1); 467 expect(dataAttributes.length, 1);
480 attributes.remove('style'); 468 attributes.remove('style');
481 expect(attributes.length, 3); 469 expect(attributes.length, 3);
482 dataAttributes['foo3'] = 'baz3'; 470 dataAttributes['foo3'] = 'baz3';
483 expect(dataAttributes.length, 2); 471 expect(dataAttributes.length, 2);
484 expect(attributes.length, 4); 472 expect(attributes.length, 4);
485 attributes['style'] = 'width: 300px;'; 473 attributes['style'] = 'width: 300px;';
486 expect(attributes.length, 5); 474 expect(attributes.length, 5);
487 }); 475 });
476
477 test('coercion', () {
478 final element = new Element.tag('div');
479 element.attributes['foo'] = 42;
480 element.attributes['bar'] = 3.1;
481 expect(element.attributes['foo'], '42');
482 expect(element.attributes['bar'], '3.1');
483 });
488 }); 484 });
489 485
490 group('elements', () { 486 group('elements', () {
491 test('is a subset of nodes', () { 487 test('is a subset of nodes', () {
492 var el = new Element.html("<div>Foo<br/><img/></div>"); 488 var el = new Element.html("<div>Foo<br/><img/></div>");
493 expect(el.nodes.length, 3); 489 expect(el.nodes.length, 3);
494 expect(el.elements.length, 2); 490 expect(el.elements.length, 2);
495 expect(el.nodes[1], el.elements[0]); 491 expect(el.nodes[1], el.elements[0]);
496 expect(el.nodes[2], el.elements[1]); 492 expect(el.nodes[2], el.elements[1]);
497 }); 493 });
(...skipping 258 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 }); 752 });
757 753
758 test('getRange', () { 754 test('getRange', () {
759 var range = makeElList().getRange(1, 2); 755 var range = makeElList().getRange(1, 2);
760 expect(range, isElementList); 756 expect(range, isElementList);
761 expect(range[0], isImageElement); 757 expect(range[0], isImageElement);
762 expect(range[1], isInputElement); 758 expect(range[1], isInputElement);
763 }); 759 });
764 }); 760 });
765 } 761 }
OLDNEW
« no previous file with comments | « no previous file | tests/html/html.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698