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

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

Issue 11275054: Modified unittest to use new argument syntax. (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
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('DocumentFragmentTest'); 5 #library('DocumentFragmentTest');
6 #import('../../pkg/unittest/unittest.dart'); 6 #import('../../pkg/unittest/unittest.dart');
7 #import('../../pkg/unittest/html_config.dart'); 7 #import('../../pkg/unittest/html_config.dart');
8 #import('dart:html'); 8 #import('dart:html');
9 #source('util.dart'); 9 #source('util.dart');
10 10
11 main() { 11 main() {
12 useHtmlConfiguration(); 12 useHtmlConfiguration();
13 13
14 var isAnchorElement =
15 predicate((x) => x is AnchorElement, 'is an AnchorElement');
16
14 Collection<String> _nodeStrings(Collection<Node> input) { 17 Collection<String> _nodeStrings(Collection<Node> input) {
15 var out = new List<String>(); 18 var out = new List<String>();
16 for (Node n in input) { 19 for (Node n in input) {
17 if (n is Element) { 20 if (n is Element) {
18 Element e = n; 21 Element e = n;
19 out.add(e.tagName); 22 out.add(e.tagName);
20 } else { 23 } else {
21 out.add(n.text); 24 out.add(n.text);
22 } 25 }
23 } 26 }
24 return out; 27 return out;
25 }; 28 };
26 29
27 assertConstError(void fn()) { 30 assertConstError(void fn()) {
28 try { 31 try {
29 fn(); 32 fn();
30 } catch (e) { 33 } catch (e) {
31 if (e is UnsupportedError) { 34 if (e is UnsupportedError) {
32 return; 35 return;
33 } 36 }
34 } 37 }
35 Expect.fail('Expected immutability error'); 38 expect(true, isFalse, reason: 'Expected immutability error');
36 }; 39 };
37 40
38 void expectEmptyStyleDeclaration(CSSStyleDeclaration style) { 41 void expectEmptyStyleDeclaration(CSSStyleDeclaration style) {
39 Expect.equals("", style.cssText); 42 expect(style.cssText, equals(''));
40 Expect.equals("", style.getPropertyPriority('color')); 43 expect(style.getPropertyPriority('color'), equals(''));
41 Expect.equals("", style.item(0)); 44 expect(style.item(0), equals(''));
42 Expect.equals(0, style.length); 45 expect(style.length, isZero);
43 // TODO(jacobr): these checks throw NotImplementedExceptions in dartium. 46 // TODO(jacobr): these checks throw NotImplementedExceptions in dartium.
44 // Expect.isNull(style.parentRule); 47 // expect(style.parentRule, isNull);
45 // Expect.isNull(style.getPropertyCSSValue('color')); 48 // expect(style.getPropertyCSSValue('color'), isNull);
46 // Expect.isNull(style.getPropertyShorthand('color')); 49 // expect(style.getPropertyShorthand('color'), isNull);
47 // Expect.isFalse(style.isPropertyImplicit('color')); 50 // expect(style.isPropertyImplicit('color'), isFalse);
48 51
49 // Ideally these would throw errors, but it's not possible to create a class 52 // Ideally these would throw errors, but it's not possible to create a class
50 // that'll intercept these calls without implementing the entire 53 // that'll intercept these calls without implementing the entire
51 // CSSStyleDeclaration interface, so we'll settle for them being no-ops. 54 // CSSStyleDeclaration interface, so we'll settle for them being no-ops.
52 style.cssText = '* {color: blue}'; 55 style.cssText = '* {color: blue}';
53 style.removeProperty('color'); 56 style.removeProperty('color');
54 style.setProperty('color', 'blue'); 57 style.setProperty('color', 'blue');
55 } 58 }
56 59
57 group('constructors', () { 60 group('constructors', () {
58 test('0-argument makes an empty fragment', () { 61 test('0-argument makes an empty fragment', () {
59 final fragment = new DocumentFragment(); 62 final fragment = new DocumentFragment();
60 Expect.listEquals([], fragment.elements); 63 expect(fragment.elements, equals([]));
61 }); 64 });
62 65
63 test('.html parses input as HTML', () { 66 test('.html parses input as HTML', () {
64 final fragment = new DocumentFragment.html('<a>foo</a>'); 67 final fragment = new DocumentFragment.html('<a>foo</a>');
65 Expect.isTrue(fragment.elements[0] is AnchorElement); 68 expect(fragment.elements[0], isAnchorElement);
66 }); 69 });
67 70
68 // test('.svg parses input as SVG', () { 71 // test('.svg parses input as SVG', () {
69 // final fragment = new DocumentFragment.svg('<a>foo</a>'); 72 // final fragment = new DocumentFragment.svg('<a>foo</a>');
70 // Expect.isTrue(fragment.elements[0] is SVGAElement); 73 // expect(fragment.elements[0] is SVGAElement, isTrue);
71 // }); 74 // });
72 75
73 // TODO(nweiz): enable this once XML is ported. 76 // TODO(nweiz): enable this once XML is ported.
74 // test('.xml parses input as XML', () { 77 // test('.xml parses input as XML', () {
75 // final fragment = new DocumentFragment.xml('<a>foo</a>'); 78 // final fragment = new DocumentFragment.xml('<a>foo</a>');
76 // Expect.isTrue(fragment.elements[0] is XMLElement); 79 // expect(fragment.elements[0] is XMLElement, isTrue);
77 // }); 80 // });
78 }); 81 });
79 82
80 test('Unsupported operations throw errors', () { 83 test('Unsupported operations throw errors', () {
81 var emptyFragment = new DocumentFragment(); 84 var emptyFragment = new DocumentFragment();
82 expectUnsupported(() => emptyFragment.attributes = {}); 85 expectUnsupported(() => emptyFragment.attributes = {});
83 expectUnsupported(() => emptyFragment.classes = []); 86 expectUnsupported(() => emptyFragment.classes = []);
84 expectUnsupported(() => emptyFragment.classes.add('foo')); 87 expectUnsupported(() => emptyFragment.classes.add('foo'));
85 expectUnsupported(() => emptyFragment.dataAttributes = {}); 88 expectUnsupported(() => emptyFragment.dataAttributes = {});
86 expectUnsupported(() => emptyFragment.contentEditable = "true"); 89 expectUnsupported(() => emptyFragment.contentEditable = "true");
(...skipping 22 matching lines...) Expand all
109 fragment = new DocumentFragment(); 112 fragment = new DocumentFragment();
110 elements = fragment.elements; 113 elements = fragment.elements;
111 fragment.nodes.addAll( 114 fragment.nodes.addAll(
112 [new Text("1"), new Element.tag("A"), new Element.tag("B"), 115 [new Text("1"), new Element.tag("A"), new Element.tag("B"),
113 new Text("2"), new Element.tag("I"), new Text("3"), 116 new Text("2"), new Element.tag("I"), new Text("3"),
114 new Element.tag("U")]); 117 new Element.tag("U")]);
115 }; 118 };
116 119
117 test('is initially empty', () { 120 test('is initially empty', () {
118 elements = new DocumentFragment().elements; 121 elements = new DocumentFragment().elements;
119 Expect.listEquals([], elements); 122 expect(elements, equals([]));
120 Expect.isTrue(elements.isEmpty); 123 expect(elements.isEmpty, isTrue);
121 }); 124 });
122 125
123 test('filters out non-element nodes', () { 126 test('filters out non-element nodes', () {
124 init(); 127 init();
125 Expect.listEquals(["1", "A", "B", "2", "I", "3", "U"], 128 expect(_nodeStrings(fragment.nodes),
126 _nodeStrings(fragment.nodes)); 129 orderedEquals(["1", "A", "B", "2", "I", "3", "U"]));
127 Expect.listEquals(["A", "B", "I", "U"], _nodeStrings(elements)); 130 expect(_nodeStrings(elements),
131 orderedEquals(["A", "B", "I", "U"]));
128 }); 132 });
129 133
130 test('only indexes elements, not other nodes', () { 134 test('only indexes elements, not other nodes', () {
131 init(); 135 init();
132 elements[1] = new Element.tag("BR"); 136 elements[1] = new Element.tag("BR");
133 Expect.listEquals(["1", "A", "BR", "2", "I", "3", "U"], 137 expect(_nodeStrings(fragment.nodes),
134 _nodeStrings(fragment.nodes)); 138 orderedEquals(["1", "A", "BR", "2", "I", "3", "U"]));
135 Expect.listEquals(["A", "BR", "I", "U"], _nodeStrings(elements)); 139 expect(_nodeStrings(elements),
140 orderedEquals(["A", "BR", "I", "U"]));
136 }); 141 });
137 142
138 test('adds to both elements and nodes', () { 143 test('adds to both elements and nodes', () {
139 init(); 144 init();
140 elements.add(new Element.tag("UL")); 145 elements.add(new Element.tag("UL"));
141 Expect.listEquals(["1", "A", "B", "2", "I", "3", "U", "UL"], 146 expect(_nodeStrings(fragment.nodes),
142 _nodeStrings(fragment.nodes)); 147 orderedEquals(["1", "A", "B", "2", "I", "3", "U", "UL"]));
143 Expect.listEquals(["A", "B", "I", "U", "UL"], _nodeStrings(elements)); 148 expect(_nodeStrings(elements),
149 orderedEquals(["A", "B", "I", "U", "UL"]));
144 }); 150 });
145 151
146 test('removes only elements, from both elements and nodes', () { 152 test('removes only elements, from both elements and nodes', () {
147 init(); 153 init();
148 Expect.equals("U", elements.removeLast().tagName); 154 expect(elements.removeLast().tagName, equals('U'));
149 Expect.listEquals(["1", "A", "B", "2", "I", "3"], 155 expect(_nodeStrings(fragment.nodes),
150 _nodeStrings(fragment.nodes)); 156 orderedEquals(["1", "A", "B", "2", "I", "3"]));
151 Expect.listEquals(["A", "B", "I"], _nodeStrings(elements)); 157 expect(_nodeStrings(elements),
158 orderedEquals(["A", "B", "I"]));
152 159
153 Expect.equals("I", elements.removeLast().tagName); 160 expect(elements.removeLast().tagName, "I");
154 Expect.listEquals(["1", "A", "B", "2", "3"], 161 expect(_nodeStrings(fragment.nodes),
155 _nodeStrings(fragment.nodes)); 162 equals(["1", "A", "B", "2", "3"]));
156 Expect.listEquals(["A", "B"], _nodeStrings(elements)); 163 expect(_nodeStrings(elements), equals(["A", "B"]));
157 }); 164 });
158 165
159 test('accessors are wrapped', () { 166 test('accessors are wrapped', () {
160 init(); 167 init();
161 Expect.equals("A", elements[0].tagName); 168 expect(elements[0].tagName, "A");
162 Expect.listEquals( 169 expect(_nodeStrings(elements.filter((e) => e.tagName == "I")), ["I"]);
163 ["I"], _nodeStrings(elements.filter((e) => e.tagName == "I"))); 170 expect(elements.every((e) => e is Element), isTrue);
164 Expect.isTrue(elements.every((e) => e is Element)); 171 expect(elements.some((e) => e.tagName == "U"), isTrue);
165 Expect.isTrue(elements.some((e) => e.tagName == "U")); 172 expect(elements.isEmpty, isFalse);
166 Expect.isFalse(elements.isEmpty); 173 expect(elements.length, 4);
167 Expect.equals(4, elements.length); 174 expect(elements[2].tagName, "I");
168 Expect.equals("I", elements[2].tagName); 175 expect(elements.last.tagName, "U");
169 Expect.equals("U", elements.last.tagName);
170 }); 176 });
171 177
172 test('setting elements overwrites nodes as well', () { 178 test('setting elements overwrites nodes as well', () {
173 init(); 179 init();
174 fragment.elements = [new Element.tag("DIV"), new Element.tag("HEAD")]; 180 fragment.elements = [new Element.tag("DIV"), new Element.tag("HEAD")];
175 Expect.listEquals(["DIV", "HEAD"], _nodeStrings(fragment.nodes)); 181 expect(_nodeStrings(fragment.nodes), equals(["DIV", "HEAD"]));
176 }); 182 });
177 }); 183 });
178 184
179 test('setting innerHTML works', () { 185 test('setting innerHTML works', () {
180 var fragment = new DocumentFragment(); 186 var fragment = new DocumentFragment();
181 fragment.nodes.add(new Text("foo")); 187 fragment.nodes.add(new Text("foo"));
182 fragment.innerHTML = "<a>bar</a>baz"; 188 fragment.innerHTML = "<a>bar</a>baz";
183 Expect.listEquals(["A", "baz"], _nodeStrings(fragment.nodes)); 189 expect(_nodeStrings(fragment.nodes), equals(["A", "baz"]));
184 }); 190 });
185 191
186 test('getting innerHTML works', () { 192 test('getting innerHTML works', () {
187 var fragment = new DocumentFragment(); 193 var fragment = new DocumentFragment();
188 fragment.nodes.addAll([new Text("foo"), new Element.html("<A>bar</A>")]); 194 fragment.nodes.addAll([new Text("foo"), new Element.html("<A>bar</A>")]);
189 Expect.equals("foo<a>bar</a>", fragment.innerHTML); 195 expect(fragment.innerHTML, "foo<a>bar</a>");
190 Expect.equals("foo<a>bar</a>", fragment.outerHTML); 196 expect(fragment.outerHTML, "foo<a>bar</a>");
191 }); 197 });
192 198
193 group('insertAdjacentElement', () { 199 group('insertAdjacentElement', () {
194 getFragment() => new DocumentFragment.html("<a>foo</a>"); 200 getFragment() => new DocumentFragment.html("<a>foo</a>");
195 201
196 test('beforeBegin does nothing', () { 202 test('beforeBegin does nothing', () {
197 var fragment = getFragment(); 203 var fragment = getFragment();
198 Expect.isNull( 204 expect(fragment.insertAdjacentElement("beforeBegin",
199 fragment.insertAdjacentElement("beforeBegin", new Element.tag("b"))); 205 new Element.tag("b")), isNull);
200 Expect.equals("<a>foo</a>", fragment.innerHTML); 206 expect(fragment.innerHTML, "<a>foo</a>");
201 }); 207 });
202 208
203 test('afterEnd does nothing', () { 209 test('afterEnd does nothing', () {
204 var fragment = getFragment(); 210 var fragment = getFragment();
205 Expect.isNull( 211 expect(fragment.insertAdjacentElement("afterEnd",
206 fragment.insertAdjacentElement("afterEnd", new Element.tag("b"))); 212 new Element.tag("b")), isNull);
207 Expect.equals("<a>foo</a>", fragment.innerHTML); 213 expect(fragment.innerHTML, "<a>foo</a>");
208 }); 214 });
209 215
210 test('afterBegin inserts the element', () { 216 test('afterBegin inserts the element', () {
211 var fragment = getFragment(); 217 var fragment = getFragment();
212 var el = new Element.tag("b"); 218 var el = new Element.tag("b");
213 Expect.equals(el, fragment.insertAdjacentElement("afterBegin", el)); 219 expect(fragment.insertAdjacentElement("afterBegin", el), equals(el));
214 Expect.equals("<b></b><a>foo</a>", fragment.innerHTML); 220 expect(fragment.innerHTML, "<b></b><a>foo</a>");
215 }); 221 });
216 222
217 test('beforeEnd inserts the element', () { 223 test('beforeEnd inserts the element', () {
218 var fragment = getFragment(); 224 var fragment = getFragment();
219 var el = new Element.tag("b"); 225 var el = new Element.tag("b");
220 Expect.equals(el, fragment.insertAdjacentElement("beforeEnd", el)); 226 expect(fragment.insertAdjacentElement("beforeEnd", el), equals(el));
221 Expect.equals("<a>foo</a><b></b>", fragment.innerHTML); 227 expect(fragment.innerHTML, "<a>foo</a><b></b>");
222 }); 228 });
223 }); 229 });
224 230
225 group('insertAdjacentText', () { 231 group('insertAdjacentText', () {
226 getFragment() => new DocumentFragment.html("<a>foo</a>"); 232 getFragment() => new DocumentFragment.html("<a>foo</a>");
227 233
228 test('beforeBegin does nothing', () { 234 test('beforeBegin does nothing', () {
229 var fragment = getFragment(); 235 var fragment = getFragment();
230 fragment.insertAdjacentText("beforeBegin", "foo"); 236 fragment.insertAdjacentText("beforeBegin", "foo");
231 Expect.equals("<a>foo</a>", fragment.innerHTML); 237 expect(fragment.innerHTML, "<a>foo</a>");
232 }); 238 });
233 239
234 test('afterEnd does nothing', () { 240 test('afterEnd does nothing', () {
235 var fragment = getFragment(); 241 var fragment = getFragment();
236 fragment.insertAdjacentText("afterEnd", "foo"); 242 fragment.insertAdjacentText("afterEnd", "foo");
237 Expect.equals("<a>foo</a>", fragment.innerHTML); 243 expect(fragment.innerHTML, "<a>foo</a>");
238 }); 244 });
239 245
240 test('afterBegin inserts the text', () { 246 test('afterBegin inserts the text', () {
241 var fragment = getFragment(); 247 var fragment = getFragment();
242 fragment.insertAdjacentText("afterBegin", "foo"); 248 fragment.insertAdjacentText("afterBegin", "foo");
243 Expect.equals("foo<a>foo</a>", fragment.innerHTML); 249 expect(fragment.innerHTML, "foo<a>foo</a>");
244 }); 250 });
245 251
246 test('beforeEnd inserts the text', () { 252 test('beforeEnd inserts the text', () {
247 var fragment = getFragment(); 253 var fragment = getFragment();
248 fragment.insertAdjacentText("beforeEnd", "foo"); 254 fragment.insertAdjacentText("beforeEnd", "foo");
249 Expect.equals("<a>foo</a>foo", fragment.innerHTML); 255 expect(fragment.innerHTML, "<a>foo</a>foo");
250 }); 256 });
251 }); 257 });
252 258
253 group('insertAdjacentHTML', () { 259 group('insertAdjacentHTML', () {
254 getFragment() => new DocumentFragment.html("<a>foo</a>"); 260 getFragment() => new DocumentFragment.html("<a>foo</a>");
255 261
256 test('beforeBegin does nothing', () { 262 test('beforeBegin does nothing', () {
257 var fragment = getFragment(); 263 var fragment = getFragment();
258 fragment.insertAdjacentHTML("beforeBegin", "foo<br>"); 264 fragment.insertAdjacentHTML("beforeBegin", "foo<br>");
259 Expect.equals("<a>foo</a>", fragment.innerHTML); 265 expect(fragment.innerHTML, "<a>foo</a>");
260 }); 266 });
261 267
262 test('afterEnd does nothing', () { 268 test('afterEnd does nothing', () {
263 var fragment = getFragment(); 269 var fragment = getFragment();
264 fragment.insertAdjacentHTML("afterEnd", "<br>foo"); 270 fragment.insertAdjacentHTML("afterEnd", "<br>foo");
265 Expect.equals("<a>foo</a>", fragment.innerHTML); 271 expect(fragment.innerHTML, "<a>foo</a>");
266 }); 272 });
267 273
268 test('afterBegin inserts the HTML', () { 274 test('afterBegin inserts the HTML', () {
269 var fragment = getFragment(); 275 var fragment = getFragment();
270 fragment.insertAdjacentHTML("afterBegin", "foo<br>"); 276 fragment.insertAdjacentHTML("afterBegin", "foo<br>");
271 Expect.equals("foo<br><a>foo</a>", fragment.innerHTML); 277 expect(fragment.innerHTML, "foo<br><a>foo</a>");
272 }); 278 });
273 279
274 test('beforeEnd inserts the HTML', () { 280 test('beforeEnd inserts the HTML', () {
275 var fragment = getFragment(); 281 var fragment = getFragment();
276 fragment.insertAdjacentHTML("beforeEnd", "<br>foo"); 282 fragment.insertAdjacentHTML("beforeEnd", "<br>foo");
277 Expect.equals("<a>foo</a><br>foo", fragment.innerHTML); 283 expect(fragment.innerHTML, "<a>foo</a><br>foo");
278 }); 284 });
279 }); 285 });
280 286
281 // Just test that these methods don't throw errors 287 // Just test that these methods don't throw errors
282 test("no-op methods don't throw errors", () { 288 test("no-op methods don't throw errors", () {
283 var fragment = new DocumentFragment(); 289 var fragment = new DocumentFragment();
284 fragment.on.click.add((e) => null); 290 fragment.on.click.add((e) => null);
285 fragment.blur(); 291 fragment.blur();
286 fragment.focus(); 292 fragment.focus();
287 fragment.click(); 293 fragment.click();
288 fragment.scrollByLines(2); 294 fragment.scrollByLines(2);
289 fragment.scrollByPages(2); 295 fragment.scrollByPages(2);
290 fragment.scrollIntoView(); 296 fragment.scrollIntoView();
291 fragment.webkitRequestFullScreen(2); 297 fragment.webkitRequestFullScreen(2);
292 }); 298 });
293 299
294 test('default values', () { 300 test('default values', () {
295 var fragment = new DocumentFragment(); 301 var fragment = new DocumentFragment();
296 fragment.rect.then(expectAsync1((ElementRect rect) { 302 fragment.rect.then(expectAsync1((ElementRect rect) {
297 expectEmptyRect(rect.client); 303 expectEmptyRect(rect.client);
298 expectEmptyRect(rect.offset); 304 expectEmptyRect(rect.offset);
299 expectEmptyRect(rect.scroll); 305 expectEmptyRect(rect.scroll);
300 expectEmptyRect(rect.bounding); 306 expectEmptyRect(rect.bounding);
301 Expect.isTrue(rect.clientRects.isEmpty); 307 expect(rect.clientRects.isEmpty, isTrue);
302 })); 308 }));
303 Expect.equals("false", fragment.contentEditable); 309 expect(fragment.contentEditable, "false");
304 Expect.equals(-1, fragment.tabIndex); 310 expect(fragment.tabIndex, -1);
305 Expect.equals("", fragment.id); 311 expect(fragment.id, "");
306 Expect.equals("", fragment.title); 312 expect(fragment.title, "");
307 Expect.equals("", fragment.tagName); 313 expect(fragment.tagName, "");
308 Expect.equals("", fragment.webkitdropzone); 314 expect(fragment.webkitdropzone, "");
309 Expect.equals("", fragment.webkitRegionOverflow); 315 expect(fragment.webkitRegionOverflow, "");
310 Expect.isFalse(fragment.isContentEditable); 316 expect(fragment.isContentEditable, isFalse);
311 Expect.isFalse(fragment.draggable); 317 expect(fragment.draggable, isFalse);
312 Expect.isFalse(fragment.hidden); 318 expect(fragment.hidden, isFalse);
313 Expect.isFalse(fragment.spellcheck); 319 expect(fragment.spellcheck, isFalse);
314 Expect.isFalse(fragment.translate); 320 expect(fragment.translate, isFalse);
315 Expect.isNull(fragment.nextElementSibling); 321 expect(fragment.nextElementSibling, isNull);
316 Expect.isNull(fragment.previousElementSibling); 322 expect(fragment.previousElementSibling, isNull);
317 Expect.isNull(fragment.offsetParent); 323 expect(fragment.offsetParent, isNull);
318 Expect.isNull(fragment.parent); 324 expect(fragment.parent, isNull);
319 Expect.isTrue(fragment.attributes.isEmpty); 325 expect(fragment.attributes.isEmpty, isTrue);
320 Expect.isTrue(fragment.classes.isEmpty); 326 expect(fragment.classes.isEmpty, isTrue);
321 Expect.isTrue(fragment.dataAttributes.isEmpty); 327 expect(fragment.dataAttributes.isEmpty, isTrue);
322 Expect.isFalse(fragment.matchesSelector("foo")); 328 expect(fragment.matchesSelector("foo"), isFalse);
323 Expect.isFalse(fragment.matchesSelector("*")); 329 expect(fragment.matchesSelector("*"), isFalse);
324 }); 330 });
325 331
326 test('style', () { 332 test('style', () {
327 var fragment = new DocumentFragment(); 333 var fragment = new DocumentFragment();
328 var style = fragment.style; 334 var style = fragment.style;
329 expectEmptyStyleDeclaration(style); 335 expectEmptyStyleDeclaration(style);
330 fragment.computedStyle.then(expectAsync1((computedStyle) { 336 fragment.computedStyle.then(expectAsync1((computedStyle) {
331 expectEmptyStyleDeclaration(computedStyle); 337 expectEmptyStyleDeclaration(computedStyle);
332 })); 338 }));
333 }); 339 });
334 340
335 // TODO(nweiz): re-enable when const is better supported in dartc and/or frog 341 // TODO(nweiz): re-enable when const is better supported in dartc and/or frog
336 // test('const fields are immutable', () { 342 // test('const fields are immutable', () {
337 // var fragment = new DocumentFragment(); 343 // var fragment = new DocumentFragment();
338 // assertConstError(() => fragment.attributes['title'] = 'foo'); 344 // assertConstError(() => fragment.attributes['title'] = 'foo');
339 // assertConstError(() => fragment.dataAttributes['title'] = 'foo'); 345 // assertConstError(() => fragment.dataAttributes['title'] = 'foo');
340 // fragment.rect.then((ElementRect rect) { 346 // fragment.rect.then((ElementRect rect) {
341 // assertConstError(() => rect.clientRects.add(null)); 347 // assertConstError(() => rect.clientRects.add(null));
342 // callbackDone(); 348 // callbackDone();
343 // }); 349 // });
344 // // Issue 174: #classes is currently not const 350 // // Issue 174: #classes is currently not const
345 // // assertConstError(() => fragment.classes.add('foo')); 351 // // assertConstError(() => fragment.classes.add('foo'));
346 // }); 352 // });
347 353
348 test('query searches the fragment', () { 354 test('query searches the fragment', () {
349 var fragment = new DocumentFragment.html( 355 var fragment = new DocumentFragment.html(
350 "<div class='foo'><a>foo</a><b>bar</b></div>"); 356 "<div class='foo'><a>foo</a><b>bar</b></div>");
351 Expect.equals("A", fragment.query(".foo a").tagName); 357 expect(fragment.query(".foo a").tagName, "A");
352 Expect.listEquals(["A", "B"], _nodeStrings(fragment.queryAll(".foo *"))); 358 expect(_nodeStrings(fragment.queryAll(".foo *")), equals(["A", "B"]));
353 }); 359 });
354 } 360 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698