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

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

Issue 33643002: "Reverting 28947" (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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/custom/entered_left_view_test.dart ('k') | tests/html/utils.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) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 custom_elements_test; 5 library custom_elements_test;
6 import 'dart:async'; 6 import 'dart:async';
7 import 'dart:html'; 7 import 'dart:html';
8 import 'dart:js' as js;
9 import 'package:unittest/html_individual_config.dart'; 8 import 'package:unittest/html_individual_config.dart';
10 import 'package:unittest/unittest.dart'; 9 import 'package:unittest/unittest.dart';
11 import 'utils.dart'; 10 import 'utils.dart';
12 11
13 class CustomMixin { 12 class CustomMixin {
14 var mixinMethodCalled; 13 var mixinMethodCalled;
15 14
16 void mixinMethod() { 15 void mixinMethod() {
17 mixinMethodCalled = true; 16 mixinMethodCalled = true;
18 } 17 }
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 var preElement = dom.children[0]; 111 var preElement = dom.children[0];
113 expect(preElement, isNotNull); 112 expect(preElement, isNotNull);
114 expect(preElement is HtmlElement, isTrue); 113 expect(preElement is HtmlElement, isTrue);
115 expect(preElement is CustomType, isFalse); 114 expect(preElement is CustomType, isFalse);
116 var firedOnPre = false; 115 var firedOnPre = false;
117 preElement.onFocus.listen((_) { 116 preElement.onFocus.listen((_) {
118 firedOnPre = true; 117 firedOnPre = true;
119 }); 118 });
120 119
121 document.register(tag, CustomType); 120 document.register(tag, CustomType);
122 customElementsTakeRecords(); 121 Platform.upgradeCustomElements(dom);
123 122
124 var postElement = dom.children[0]; 123 var postElement = dom.children[0];
125 expect(postElement, isNotNull); 124 expect(postElement, isNotNull);
126 expect(postElement is CustomType, isTrue); 125 expect(postElement is CustomType, isTrue);
127 expect(postElement.createdCalled, isTrue); 126 expect(postElement.createdCalled, isTrue);
128 127
129 // Element from first query remains an UnknownElement. 128 // Element from first query remains an UnknownElement.
130 expect(preElement is HtmlElement, isTrue); 129 expect(preElement is HtmlElement, isTrue);
131 expect(preElement.parent, dom); 130 expect(preElement.parent, dom);
132 expect(dom.children.length, 1); 131 expect(dom.children.length, 1);
133 132
134 var firedOnPost = false; 133 var firedOnPost = false;
135 postElement.onFocus.listen((_) { 134 postElement.onFocus.listen((_) {
136 firedOnPost = true; 135 firedOnPost = true;
137 }); 136 });
138 // Event handlers persist on old and new element. 137 // Event handlers persist on old and new element.
139 postElement.dispatchEvent(new Event('focus')); 138 postElement.dispatchEvent(new Event('focus'));
140 expect(firedOnPre, isTrue); 139 expect(firedOnPre, isTrue);
141 expect(firedOnPost, isTrue); 140 expect(firedOnPost, isTrue);
142 }); 141 });
143 });*/ 142 });*/
144 143
145 group('innerHtml', () { 144 group('innerHtml', () {
146 test('query', () { 145 test('query', () {
147 var tag = nextTag; 146 var tag = nextTag;
148 document.register(tag, CustomType); 147 document.register(tag, CustomType);
149 var element = new DivElement(); 148 var element = new DivElement();
150 element.setInnerHtml('<$tag></$tag>', 149 element.setInnerHtml('<$tag></$tag>',
151 treeSanitizer: new NullTreeSanitizer()); 150 treeSanitizer: new NullTreeSanitizer());
152 customElementsTakeRecords(); 151 » Platform.upgradeCustomElements(element);
153 document.body.nodes.add(element); 152 document.body.nodes.add(element);
154 var queried = query(tag); 153 var queried = query(tag);
155 154
156 expect(queried, isNotNull); 155 expect(queried, isNotNull);
157 expect(queried is CustomType, isTrue); 156 expect(queried is CustomType, isTrue);
158 expect(queried.createdCalled, isTrue); 157 expect(queried.createdCalled, isTrue);
159 }); 158 });
160 159
161 test('query id', () { 160 test('query id', () {
162 var tag = nextTag; 161 var tag = nextTag;
163 document.register(tag, CustomType); 162 document.register(tag, CustomType);
164 var element = new DivElement(); 163 var element = new DivElement();
165 element.setInnerHtml('<$tag id="someid"></$tag>', 164 element.setInnerHtml('<$tag id="someid"></$tag>',
166 treeSanitizer: new NullTreeSanitizer()); 165 treeSanitizer: new NullTreeSanitizer());
167 customElementsTakeRecords(); 166 » Platform.upgradeCustomElements(element);
168 document.body.nodes.add(element); 167 document.body.nodes.add(element);
169 var queried = query('#someid'); 168 var queried = query('#someid');
170 169
171 expect(queried, isNotNull); 170 expect(queried, isNotNull);
172 expect(queried is CustomType, isTrue); 171 expect(queried is CustomType, isTrue);
173 expect(queried.id, "someid"); 172 expect(queried.id, "someid");
174 }); 173 });
175 }); 174 });
176 175
177 group('lifecycle', () { 176 group('lifecycle', () {
178 test('created', () { 177 test('created', () {
179 int oldCount = customCreatedCount; 178 int oldCount = customCreatedCount;
180 var tag = nextTag; 179 var tag = nextTag;
181 document.register(tag, CustomType); 180 document.register(tag, CustomType);
182 var element = new DivElement(); 181 var element = new DivElement();
183 element.setInnerHtml('<$tag></$tag>', 182 element.setInnerHtml('<$tag></$tag>',
184 treeSanitizer: new NullTreeSanitizer()); 183 treeSanitizer: new NullTreeSanitizer());
185 customElementsTakeRecords(); 184 Platform.upgradeCustomElements(element);
186 document.body.nodes.add(element); 185 document.body.nodes.add(element);
187 expect(customCreatedCount, oldCount + 1); 186 expect(customCreatedCount, oldCount + 1);
188 }); 187 });
189 }); 188 });
190 189
191 group('mixins', () { 190 group('mixins', () {
192 test('can invoke mixin methods', () { 191 test('can invoke mixin methods', () {
193 var tag = nextTag; 192 var tag = nextTag;
194 document.register(tag, CustomType); 193 document.register(tag, CustomType);
195 194
196 var element = new Element.tag(tag); 195 var element = new Element.tag(tag);
197 element.invokeMixinMethod(); 196 element.invokeMixinMethod();
198 expect(element.mixinMethodCalled, isTrue); 197 expect(element.mixinMethodCalled, isTrue);
199 }); 198 });
200 }); 199 });
201 } 200 }
OLDNEW
« no previous file with comments | « tests/html/custom/entered_left_view_test.dart ('k') | tests/html/utils.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698