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

Side by Side Diff: client/tests/client/html/NodeTest.dart

Issue 10173019: Revert "Break html_tests.dart into multiple tests" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 8 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 | « client/tests/client/html/MeasurementTests.dart ('k') | client/tests/client/html/NodeTests.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
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
3 // BSD-style license that can be found in the LICENSE file.
4
5 #library('NodeTest');
6 #import('../../../../lib/unittest/unittest.dart');
7 #import('../../../../lib/unittest/html_config.dart');
8 #import('dart:html');
9
10 Node makeNode() => new Element.tag('div');
11 Node makeNodeWithChildren() =>
12 new Element.html("<div>Foo<br/><!--baz--></div>");
13
14 main() {
15 useHtmlConfiguration();
16
17 test('replaceWith', () {
18 final node = makeNodeWithChildren();
19 final subnode = node.nodes[1];
20 final out = subnode.replaceWith(new Text('Bar'));
21 Expect.equals(subnode, out, '#replaceWith should be chainable');
22 Expect.equals(3, node.nodes.length);
23 Expect.isTrue(node.nodes[0] is Text);
24 Expect.equals('Foo', node.nodes[0].text);
25 Expect.isTrue(node.nodes[1] is Text);
26 Expect.equals('Bar', node.nodes[1].text);
27 Expect.isTrue(node.nodes[2] is Comment);
28 });
29
30 test('remove', () {
31 final node = makeNodeWithChildren();
32 final subnode = node.nodes[1];
33 final out = subnode.remove();
34 Expect.equals(subnode, out, '#remove should be chainable');
35 Expect.equals(2, node.nodes.length);
36 Expect.isTrue(node.nodes[0] is Text);
37 Expect.isTrue(node.nodes[1] is Comment);
38 });
39
40 test('contains', () {
41 final Node node = new Element.html("<div>Foo<span>Bar</span></div>");
42 Expect.isTrue(node.contains(node.nodes.first));
43 Expect.isTrue(node.contains(node.nodes[1].nodes.first));
44 Expect.isFalse(node.contains(new Text('Foo')));
45 });
46
47 group('nodes', () {
48 test('is a NodeList', () {
49 Expect.isTrue(makeNodeWithChildren().nodes is NodeList);
50 });
51
52 test('first', () {
53 var node = makeNodeWithChildren();
54 Expect.isTrue(node.nodes.first is Text);
55 });
56
57 test('last', () {
58 var node = makeNodeWithChildren();
59 Expect.isTrue(node.nodes.last() is Comment);
60 });
61
62 test('forEach', () {
63 var nodes = [];
64 var node = makeNodeWithChildren();
65 node.nodes.forEach((n) => nodes.add(n));
66 Expect.isTrue(nodes[0] is Text);
67 Expect.isTrue(nodes[1] is BRElement);
68 Expect.isTrue(nodes[2] is Comment);
69 });
70
71 test('filter', () {
72 var filtered = makeNodeWithChildren().nodes.filter((n) => n is BRElement);
73 Expect.equals(1, filtered.length);
74 Expect.isTrue(filtered[0] is BRElement);
75 Expect.isTrue(filtered is NodeList);
76 });
77
78 test('every', () {
79 var node = makeNodeWithChildren();
80 Expect.isTrue(node.nodes.every((n) => n is Node));
81 Expect.isFalse(node.nodes.every((n) => n is Comment));
82 });
83
84 test('some', () {
85 var node = makeNodeWithChildren();
86 Expect.isTrue(node.nodes.some((n) => n is Comment));
87 Expect.isFalse(node.nodes.some((n) => n is SVGElement));
88 });
89
90 test('isEmpty', () {
91 Expect.isTrue(makeNode().nodes.isEmpty());
92 Expect.isFalse(makeNodeWithChildren().nodes.isEmpty());
93 });
94
95 test('length', () {
96 Expect.equals(0, makeNode().nodes.length);
97 Expect.equals(3, makeNodeWithChildren().nodes.length);
98 });
99
100 test('[]', () {
101 var node = makeNodeWithChildren();
102 Expect.isTrue(node.nodes[0] is Text);
103 Expect.isTrue(node.nodes[1] is BRElement);
104 Expect.isTrue(node.nodes[2] is Comment);
105 });
106
107 test('[]=', () {
108 var node = makeNodeWithChildren();
109 node.nodes[1] = new Element.tag('hr');
110 Expect.isTrue(node.nodes[0] is Text);
111 Expect.isTrue(node.nodes[1] is HRElement);
112 Expect.isTrue(node.nodes[2] is Comment);
113 });
114
115 test('add', () {
116 var node = makeNode();
117 node.nodes.add(new Element.tag('hr'));
118 Expect.isTrue(node.nodes.last() is HRElement);
119 });
120
121 test('addLast', () {
122 var node = makeNode();
123 node.nodes.addLast(new Element.tag('hr'));
124 Expect.isTrue(node.nodes.last() is HRElement);
125 });
126
127 test('iterator', () {
128 var nodes = [];
129 var node = makeNodeWithChildren();
130 for (var subnode in node.nodes) {
131 nodes.add(subnode);
132 }
133 Expect.isTrue(nodes[0] is Text);
134 Expect.isTrue(nodes[1] is BRElement);
135 Expect.isTrue(nodes[2] is Comment);
136 });
137
138 test('addAll', () {
139 var node = makeNodeWithChildren();
140 node.nodes.addAll([
141 new Element.tag('hr'),
142 new Element.tag('img'),
143 new Element.tag('input')
144 ]);
145 Expect.isTrue(node.nodes[0] is Text);
146 Expect.isTrue(node.nodes[1] is BRElement);
147 Expect.isTrue(node.nodes[2] is Comment);
148 Expect.isTrue(node.nodes[3] is HRElement);
149 Expect.isTrue(node.nodes[4] is ImageElement);
150 Expect.isTrue(node.nodes[5] is InputElement);
151 });
152
153 test('clear', () {
154 var node = makeNodeWithChildren();
155 node.nodes.clear();
156 Expect.listEquals([], node.nodes);
157 });
158
159 test('removeLast', () {
160 var node = makeNodeWithChildren();
161 Expect.isTrue(node.nodes.removeLast() is Comment);
162 Expect.equals(2, node.nodes.length);
163 Expect.isTrue(node.nodes.removeLast() is BRElement);
164 Expect.equals(1, node.nodes.length);
165 });
166
167 test('getRange', () {
168 var node = makeNodeWithChildren();
169 Expect.isTrue(node.nodes.getRange(1, 2) is NodeList);
170 });
171 });
172
173 group('_NodeList', () {
174 NodeList makeNodeList() =>
175 makeNodeWithChildren().nodes.filter((_) => true);
176
177 test('first', () {
178 var nodes = makeNodeList();
179 Expect.isTrue(nodes.first is Text);
180 });
181
182 test('filter', () {
183 var filtered = makeNodeList().filter((n) => n is BRElement);
184 Expect.equals(1, filtered.length);
185 Expect.isTrue(filtered[0] is BRElement);
186 Expect.isTrue(filtered is NodeList);
187 });
188
189 test('getRange', () {
190 var range = makeNodeList().getRange(1, 2);
191 Expect.isTrue(range is NodeList);
192 Expect.isTrue(range[0] is BRElement);
193 Expect.isTrue(range[1] is Comment);
194 });
195 });
196 }
OLDNEW
« no previous file with comments | « client/tests/client/html/MeasurementTests.dart ('k') | client/tests/client/html/NodeTests.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698