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

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

Issue 46313005: Fix to distingish Document from HtmlDocument on ie9 (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 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
« no previous file with comments | « sdk/lib/_internal/lib/native_helper.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 library DocumentTest; 1 library DocumentTest;
2 import '../../pkg/unittest/lib/unittest.dart'; 2 import '../../pkg/unittest/lib/unittest.dart';
3 import '../../pkg/unittest/lib/html_individual_config.dart'; 3 import '../../pkg/unittest/lib/html_individual_config.dart';
4 import 'dart:html'; 4 import 'dart:html';
5 5
6 main() { 6 main() {
7 useHtmlIndividualConfiguration(); 7 useHtmlIndividualConfiguration();
8 8
9 var isElement = predicate((x) => x is Element, 'is an Element'); 9 var isElement = predicate((x) => x is Element, 'is an Element');
10 var isDivElement = predicate((x) => x is DivElement, 'is a DivElement'); 10 var isDivElement = predicate((x) => x is DivElement, 'is a DivElement');
11 var isAnchorElement = 11 var isAnchorElement =
12 predicate((x) => x is AnchorElement, 'is an AnchorElement'); 12 predicate((x) => x is AnchorElement, 'is an AnchorElement');
13 var isUnknownElement = 13 var isUnknownElement =
14 predicate((x) => x is UnknownElement, 'is UnknownElement'); 14 predicate((x) => x is UnknownElement, 'is UnknownElement');
15 15
16 var inscrutable;
17
16 test('CreateElement', () { 18 test('CreateElement', () {
17 // FIXME: nifty way crashes, do it boring way. 19 // FIXME: nifty way crashes, do it boring way.
18 expect(new Element.tag('span'), isElement); 20 expect(new Element.tag('span'), isElement);
19 expect(new Element.tag('div'), isDivElement); 21 expect(new Element.tag('div'), isDivElement);
20 expect(new Element.tag('a'), isAnchorElement); 22 expect(new Element.tag('a'), isAnchorElement);
21 expect(new Element.tag('bad_name'), isUnknownElement); 23 expect(new Element.tag('bad_name'), isUnknownElement);
22 }); 24 });
23 25
24 group('supports_cssCanvasContext', () { 26 group('supports_cssCanvasContext', () {
25 test('supports_cssCanvasContext', () { 27 test('supports_cssCanvasContext', () {
26 expect(HtmlDocument.supportsCssCanvasContext, true); 28 expect(HtmlDocument.supportsCssCanvasContext, true);
27 }); 29 });
28 }); 30 });
29 31
30 group('getCssCanvasContext', () { 32 group('getCssCanvasContext', () {
31 test('getCssCanvasContext 2d', () { 33 test('getCssCanvasContext 2d', () {
32 var expectation = HtmlDocument.supportsCssCanvasContext ? 34 var expectation = HtmlDocument.supportsCssCanvasContext ?
33 returnsNormally : throws; 35 returnsNormally : throws;
34 36
35 expect(() { 37 expect(() {
36 var context = document.getCssCanvasContext('2d', 'testContext', 10, 20); 38 var context = document.getCssCanvasContext('2d', 'testContext', 10, 20);
37 expect(context is CanvasRenderingContext2D, true); 39 expect(context is CanvasRenderingContext2D, true);
38 expect(context.canvas.width, 10); 40 expect(context.canvas.width, 10);
39 expect(context.canvas.height, 20); 41 expect(context.canvas.height, 20);
40 }, expectation); 42 }, expectation);
41 }); 43 });
42 }); 44 });
43 45
44 group('document', () { 46 group('document', () {
47 inscrutable = (x) => x;
48
45 test('Document.query', () { 49 test('Document.query', () {
46 Document doc = new DomParser().parseFromString( 50 Document doc = new DomParser().parseFromString(
47 '''<ResultSet> 51 '''<ResultSet>
48 <Row>A</Row> 52 <Row>A</Row>
49 <Row>B</Row> 53 <Row>B</Row>
50 <Row>C</Row> 54 <Row>C</Row>
51 </ResultSet>''','text/xml'); 55 </ResultSet>''','text/xml');
52 56
53 var rs = doc.query('ResultSet'); 57 var rs = doc.query('ResultSet');
54 expect(rs, isNotNull); 58 expect(rs, isNotNull);
(...skipping 18 matching lines...) Expand all
73 77
74 test('importNode', () { 78 test('importNode', () {
75 var div = new Element.html('<div><div id="foo">bar</div></div>'); 79 var div = new Element.html('<div><div id="foo">bar</div></div>');
76 var doc = document.implementation.createHtmlDocument(''); 80 var doc = document.implementation.createHtmlDocument('');
77 var div2 = doc.importNode(div, true); 81 var div2 = doc.importNode(div, true);
78 expect(div2, isNot(equals(div))); 82 expect(div2, isNot(equals(div)));
79 expect(div2.ownerDocument, doc); 83 expect(div2.ownerDocument, doc);
80 doc.body.nodes.add(div2); 84 doc.body.nodes.add(div2);
81 expect(doc.query('#foo').text, 'bar'); 85 expect(doc.query('#foo').text, 'bar');
82 }); 86 });
87
88 test('typeTest1', () {
89 inscrutable = inscrutable(inscrutable);
90 var doc1 = document;
91 expect(doc1 is HtmlDocument, true);
92 expect(inscrutable(doc1) is HtmlDocument, true);
93 var doc2 = document.implementation.createHtmlDocument('');
94 expect(doc2 is HtmlDocument, true);
95 expect(inscrutable(doc2) is HtmlDocument, true);
96 });
97
98 test('typeTest2', () {
99 inscrutable = inscrutable(inscrutable);
100 // XML document.
101 var doc3 = document.implementation.createDocument(null, 'report', null);
102 expect(doc3 is HtmlDocument, false);
103 expect(inscrutable(doc3) is HtmlDocument, false);
104 });
83 }); 105 });
84 } 106 }
OLDNEW
« no previous file with comments | « sdk/lib/_internal/lib/native_helper.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698