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

Side by Side Diff: test/codegen/lib/html/document_test.dart

Issue 1930043002: Add all dart:html tests from the sdk to test/codegen. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 7 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
OLDNEW
(Empty)
1 library DocumentTest;
2 import 'package:unittest/unittest.dart';
3 import 'package:unittest/html_individual_config.dart';
4 import 'dart:html';
5
6 main() {
7 useHtmlIndividualConfiguration();
8
9 var isElement = predicate((x) => x is Element, 'is an Element');
10 var isDivElement = predicate((x) => x is DivElement, 'is a DivElement');
11 var isAnchorElement =
12 predicate((x) => x is AnchorElement, 'is an AnchorElement');
13 var isUnknownElement =
14 predicate((x) => x is UnknownElement, 'is UnknownElement');
15
16 var inscrutable;
17
18 test('CreateElement', () {
19 // FIXME: nifty way crashes, do it boring way.
20 expect(new Element.tag('span'), isElement);
21 expect(new Element.tag('div'), isDivElement);
22 expect(new Element.tag('a'), isAnchorElement);
23 expect(new Element.tag('bad_name'), isUnknownElement);
24 });
25
26 group('document', () {
27 inscrutable = (x) => x;
28
29 test('Document.query', () {
30 Document doc = new DomParser().parseFromString(
31 '''<ResultSet>
32 <Row>A</Row>
33 <Row>B</Row>
34 <Row>C</Row>
35 </ResultSet>''','text/xml');
36
37 var rs = doc.query('ResultSet');
38 expect(rs, isNotNull);
39 });
40
41 test('CreateElement', () {
42 // FIXME: nifty way crashes, do it boring way.
43 expect(new Element.tag('span'), isElement);
44 expect(new Element.tag('div'), isDivElement);
45 expect(new Element.tag('a'), isAnchorElement);
46 expect(new Element.tag('bad_name'), isUnknownElement);
47 });
48
49 test('adoptNode', () {
50 var div = new Element.html('<div><div id="foo">bar</div></div>');
51 var doc = document.implementation.createHtmlDocument('');
52 expect(doc.adoptNode(div), div);
53 expect(div.ownerDocument, doc);
54 doc.body.nodes.add(div);
55 expect(doc.query('#foo').text, 'bar');
56 });
57
58 test('importNode', () {
59 var div = new Element.html('<div><div id="foo">bar</div></div>');
60 var doc = document.implementation.createHtmlDocument('');
61 var div2 = doc.importNode(div, true);
62 expect(div2, isNot(equals(div)));
63 expect(div2.ownerDocument, doc);
64 doc.body.nodes.add(div2);
65 expect(doc.query('#foo').text, 'bar');
66 });
67
68 test('typeTest1', () {
69 inscrutable = inscrutable(inscrutable);
70 var doc1 = document;
71 expect(doc1 is HtmlDocument, true);
72 expect(inscrutable(doc1) is HtmlDocument, true);
73 var doc2 = document.implementation.createHtmlDocument('');
74 expect(doc2 is HtmlDocument, true);
75 expect(inscrutable(doc2) is HtmlDocument, true);
76 });
77
78 test('typeTest2', () {
79 inscrutable = inscrutable(inscrutable);
80 // XML document.
81 var doc3 = document.implementation.createDocument(null, 'report', null);
82 expect(doc3 is HtmlDocument, false);
83 expect(inscrutable(doc3) is HtmlDocument, false);
84 });
85 });
86 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698