OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 import 'dart:html'; | 5 import 'dart:html'; |
6 | 6 |
7 import 'package:expect/minitest.dart'; | 7 import 'package:expect/minitest.dart'; |
8 | 8 |
9 main() { | 9 main() { |
10 var isElement = predicate((x) => x is Element, 'is an Element'); | 10 var isElement = predicate((x) => x is Element, 'is an Element'); |
11 var isCanvasElement = | 11 var isCanvasElement = |
12 predicate((x) => x is CanvasElement, 'is a CanvasElement'); | 12 predicate((x) => x is CanvasElement, 'is a CanvasElement'); |
13 var isDivElement = predicate((x) => x is DivElement, 'is a isDivElement'); | 13 var isDivElement = predicate((x) => x is DivElement, 'is a isDivElement'); |
14 | 14 |
15 var div = new DivElement(); | 15 var div = new DivElement(); |
16 div.id = 'test'; | 16 div.id = 'test'; |
17 document.body.append(div); | 17 document.body.append(div); |
18 | 18 |
19 div.nodes.addAll([ | 19 div.nodes.addAll([ |
20 new DivElement(), | 20 new DivElement(), |
21 new CanvasElement(), | 21 new CanvasElement(), |
22 new DivElement(), | 22 new DivElement(), |
23 new Text('Hello'), | 23 new Text('Hello'), |
24 new DivElement(), | 24 new DivElement(), |
25 new Text('World'), | 25 new Text('World'), |
26 new CanvasElement()]); | 26 new CanvasElement() |
| 27 ]); |
27 | 28 |
28 test('queryAll', () { | 29 test('queryAll', () { |
29 List<Node> all = queryAll('*'); | 30 List<Node> all = queryAll('*'); |
30 for (var e in all) { | 31 for (var e in all) { |
31 expect(e, isElement); | 32 expect(e, isElement); |
32 } | 33 } |
33 }); | 34 }); |
34 | 35 |
35 test('document.queryAll', () { | 36 test('document.queryAll', () { |
36 List<Element> all1 = queryAll('*'); | 37 List<Element> all1 = queryAll('*'); |
37 List<Element> all2 = document.queryAll('*'); | 38 List<Element> all2 = document.queryAll('*'); |
38 expect(all1.length, equals(all2.length)); | 39 expect(all1.length, equals(all2.length)); |
39 for (var i = 0; i < all1.length; ++i) { | 40 for (var i = 0; i < all1.length; ++i) { |
40 expect(all1[i], equals(all2[i])); | 41 expect(all1[i], equals(all2[i])); |
41 } | 42 } |
42 }); | 43 }); |
43 | 44 |
44 test('queryAll-canvas', () { | 45 test('queryAll-canvas', () { |
45 var all = queryAll('canvas'); | 46 var all = queryAll('canvas'); |
46 for (var e in all) { | 47 for (var e in all) { |
47 expect(e, isCanvasElement); | 48 expect(e, isCanvasElement); |
48 } | 49 } |
49 expect(all.length, equals(2)); | 50 expect(all.length, equals(2)); |
50 }); | 51 }); |
51 | 52 |
52 test('queryAll-contains', () { | 53 test('queryAll-contains', () { |
53 List<Element> all = queryAll('*'); | 54 List<Element> all = queryAll('*'); |
54 for (var e in all) { | 55 for (var e in all) { |
55 expect(all.contains(e), isTrue); | 56 expect(all.contains(e), isTrue); |
56 } | 57 } |
57 }); | 58 }); |
58 | 59 |
59 test('queryAll-where', () { | 60 test('queryAll-where', () { |
60 List<Element> all = queryAll('*'); | 61 List<Element> all = queryAll('*'); |
61 var canvases = all.where((e) => e is CanvasElement); | 62 var canvases = all.where((e) => e is CanvasElement); |
62 for (var e in canvases) { | 63 for (var e in canvases) { |
63 expect(e is CanvasElement, isTrue); | 64 expect(e is CanvasElement, isTrue); |
64 } | 65 } |
65 expect(canvases.length, equals(2)); | 66 expect(canvases.length, equals(2)); |
66 }); | 67 }); |
67 | 68 |
68 test('node.queryAll', () { | 69 test('node.queryAll', () { |
69 List<Element> list = div.queryAll('*'); | 70 List<Element> list = div.queryAll('*'); |
70 expect(list.length, equals(5)); | 71 expect(list.length, equals(5)); |
71 expect(list[0], isDivElement); | 72 expect(list[0], isDivElement); |
72 expect(list[1], isCanvasElement); | 73 expect(list[1], isCanvasElement); |
73 expect(list[2], isDivElement); | 74 expect(list[2], isDivElement); |
74 expect(list[3], isDivElement); | 75 expect(list[3], isDivElement); |
75 expect(list[4], isCanvasElement); | 76 expect(list[4], isCanvasElement); |
76 }); | 77 }); |
77 | 78 |
78 test('immutable', () { | 79 test('immutable', () { |
79 List<Element> list = div.queryAll('*'); | 80 List<Element> list = div.queryAll('*'); |
80 int len = list.length; | 81 int len = list.length; |
81 expect(() { list.add(new DivElement()); }, throwsUnsupportedError); | 82 expect(() { |
82 expect(list.length, equals(len)); | 83 list.add(new DivElement()); |
83 }); | 84 }, throwsUnsupportedError); |
| 85 expect(list.length, equals(len)); |
| 86 }); |
84 } | 87 } |
OLD | NEW |