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

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

Issue 11783009: Big merge from experimental to bleeding edge. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 11 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/xhr_test.dart ('k') | tests/html/xmlelement_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 // 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 library XMLDocumentTest; 5 library XMLDocumentTest;
6 import '../../pkg/unittest/lib/unittest.dart'; 6 import '../../pkg/unittest/lib/unittest.dart';
7 import '../../pkg/unittest/lib/html_config.dart'; 7 import '../../pkg/unittest/lib/html_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 9
10 main() { 10 main() {
(...skipping 23 matching lines...) Expand all
34 test('with a PARSERERROR tag', () { 34 test('with a PARSERERROR tag', () {
35 final doc = new XMLDocument.xml("<xml><parsererror /></xml>"); 35 final doc = new XMLDocument.xml("<xml><parsererror /></xml>");
36 expect(doc.children[0].tagName, 'parsererror'); 36 expect(doc.children[0].tagName, 'parsererror');
37 }); 37 });
38 }); 38 });
39 39
40 // FilteredElementList is tested more thoroughly in DocumentFragmentTests. 40 // FilteredElementList is tested more thoroughly in DocumentFragmentTests.
41 group('children', () { 41 group('children', () {
42 test('filters out non-element nodes', () { 42 test('filters out non-element nodes', () {
43 final doc = new XMLDocument.xml("<xml>1<a/><b/>2<c/>3<d/></xml>"); 43 final doc = new XMLDocument.xml("<xml>1<a/><b/>2<c/>3<d/></xml>");
44 expect(doc.children.map((e) => e.tagName), ["a", "b", "c", "d"]); 44 expect(doc.children.mappedBy((e) => e.tagName).toList(),
45 ["a", "b", "c", "d"]);
45 }); 46 });
46 47
47 test('overwrites nodes when set', () { 48 test('overwrites nodes when set', () {
48 final doc = new XMLDocument.xml("<xml>1<a/><b/>2<c/>3<d/></xml>"); 49 final doc = new XMLDocument.xml("<xml>1<a/><b/>2<c/>3<d/></xml>");
49 doc.children = [new XMLElement.tag('x'), new XMLElement.tag('y')]; 50 doc.children = [new XMLElement.tag('x'), new XMLElement.tag('y')];
50 expect(doc.outerHtml, "<xml><x></x><y></y></xml>"); 51 expect(doc.outerHtml, "<xml><x></x><y></y></xml>");
51 }); 52 });
52 }); 53 });
53 54
54 group('classes', () { 55 group('classes', () {
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 }); 95 });
95 96
96 test('iterator', () { 97 test('iterator', () {
97 final classes = <String>[]; 98 final classes = <String>[];
98 for (var doc in makeClassSet()) { 99 for (var doc in makeClassSet()) {
99 classes.add(doc); 100 classes.add(doc);
100 } 101 }
101 expect(classes, unorderedEquals(['foo', 'bar', 'baz'])); 102 expect(classes, unorderedEquals(['foo', 'bar', 'baz']));
102 }); 103 });
103 104
104 test('map', () { 105 test('mappedBy', () {
105 expect(makeClassSet().map((c) => c.toUpperCase()), 106 expect(makeClassSet().mappedBy((c) => c.toUpperCase()).toList(),
106 unorderedEquals(['FOO', 'BAR', 'BAZ'])); 107 unorderedEquals(['FOO', 'BAR', 'BAZ']));
107 }); 108 });
108 109
109 test('filter', () { 110 test('where', () {
110 expect(makeClassSet().filter((c) => c.contains('a')), 111 expect(makeClassSet().where((c) => c.contains('a')).toSet(),
111 unorderedEquals(['bar', 'baz'])); 112 unorderedEquals(['bar', 'baz']));
112 }); 113 });
113 114
114 test('every', () { 115 test('every', () {
115 expect(makeClassSet().every((c) => c is String), isTrue); 116 expect(makeClassSet().every((c) => c is String), isTrue);
116 expect(makeClassSet().every((c) => c.contains('a')), isFalse); 117 expect(makeClassSet().every((c) => c.contains('a')), isFalse);
117 }); 118 });
118 119
119 test('some', () { 120 test('any', () {
120 expect(makeClassSet().some((c) => c.contains('a')), isTrue); 121 expect(makeClassSet().any((c) => c.contains('a')), isTrue);
121 expect(makeClassSet().some((c) => c is num), isFalse); 122 expect(makeClassSet().any((c) => c is num), isFalse);
122 }); 123 });
123 124
124 test('isEmpty', () { 125 test('isEmpty', () {
125 expect(makeClassSet().isEmpty, isFalse); 126 expect(makeClassSet().isEmpty, isFalse);
126 expect(makeDocument().classes.isEmpty, isTrue); 127 expect(makeDocument().classes.isEmpty, isTrue);
127 }); 128 });
128 129
129 test('length', () { 130 test('length', () {
130 expect(makeClassSet().length, 3); 131 expect(makeClassSet().length, 3);
131 expect(makeDocument().classes.length, 0); 132 expect(makeDocument().classes.length, 0);
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 421
421 test('query', () { 422 test('query', () {
422 final doc = makeDocument(); 423 final doc = makeDocument();
423 expect(doc.query('foo').tagName, 'foo'); 424 expect(doc.query('foo').tagName, 'foo');
424 expect(doc.query('baz'), isNull); 425 expect(doc.query('baz'), isNull);
425 }); 426 });
426 427
427 test('queryAll', () { 428 test('queryAll', () {
428 final doc = new XMLDocument.xml( 429 final doc = new XMLDocument.xml(
429 "<xml><foo id='f1' /><bar><foo id='f2' /></bar></xml>"); 430 "<xml><foo id='f1' /><bar><foo id='f2' /></bar></xml>");
430 expect(doc.queryAll('foo').map((e) => e.id), ['f1', 'f2']); 431 expect(doc.queryAll('foo').mappedBy((e) => e.id).toList(), ['f1', 'f2']);
431 expect(doc.queryAll('baz'), []); 432 expect(doc.queryAll('baz'), []);
432 }); 433 });
433 434
434 // TODO(nweiz): re-enable this when matchesSelector works cross-browser. 435 // TODO(nweiz): re-enable this when matchesSelector works cross-browser.
435 // 436 //
436 // test('matchesSelector', () { 437 // test('matchesSelector', () {
437 // final doc = makeDocument(); 438 // final doc = makeDocument();
438 // expect(doc.matchesSelector('*'), isTrue); 439 // expect(doc.matchesSelector('*'), isTrue);
439 // expect(doc.matchesSelector('xml'), isTrue); 440 // expect(doc.matchesSelector('xml'), isTrue);
440 // expect(doc.matchesSelector('html'), isFalse); 441 // expect(doc.matchesSelector('html'), isFalse);
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
611 test('manifest', () => expect(makeDocument().manifest), ''); 612 test('manifest', () => expect(makeDocument().manifest), '');
612 }); 613 });
613 614
614 test('unsupported operations', () { 615 test('unsupported operations', () {
615 expectUnsupported(() { makeDocument().body = new XMLElement.tag('xml'); }); 616 expectUnsupported(() { makeDocument().body = new XMLElement.tag('xml'); });
616 expectUnsupported(() => makeDocument().cookie); 617 expectUnsupported(() => makeDocument().cookie);
617 expectUnsupported(() { makeDocument().cookie = 'foo'; }); 618 expectUnsupported(() { makeDocument().cookie = 'foo'; });
618 expectUnsupported(() { makeDocument().manifest = 'foo'; }); 619 expectUnsupported(() { makeDocument().manifest = 'foo'; });
619 }); 620 });
620 } 621 }
OLDNEW
« no previous file with comments | « tests/html/xhr_test.dart ('k') | tests/html/xmlelement_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698