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

Side by Side Diff: tests/html/custom/created_callback_test.dart

Issue 268313002: [dart:html] rename register to registerElement per spec (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: rebase Created 6 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 | Annotate | Revision Log
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 created_callback_test; 5 library created_callback_test;
6 import 'package:unittest/unittest.dart'; 6 import 'package:unittest/unittest.dart';
7 import 'package:unittest/html_config.dart'; 7 import 'package:unittest/html_config.dart';
8 import 'dart:html'; 8 import 'dart:html';
9 import 'dart:js' as js; 9 import 'dart:js' as js;
10 import '../utils.dart'; 10 import '../utils.dart';
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 useHtmlConfiguration(); 58 useHtmlConfiguration();
59 59
60 // Adapted from Blink's 60 // Adapted from Blink's
61 // fast/dom/custom/created-callback test. 61 // fast/dom/custom/created-callback test.
62 62
63 var registered = false; 63 var registered = false;
64 setUp(() { 64 setUp(() {
65 return customElementsReady.then((_) { 65 return customElementsReady.then((_) {
66 if (!registered) { 66 if (!registered) {
67 registered = true; 67 registered = true;
68 document.register(B.tag, B); 68 document.registerElement(B.tag, B);
69 document.register(C.tag, C); 69 document.registerElement(C.tag, C);
70 ErrorConstructorElement.register(); 70 ErrorConstructorElement.registerElement();
71 } 71 }
72 }); 72 });
73 }); 73 });
74 74
75 test('transfer created callback', () { 75 test('transfer created callback', () {
76 document.register(A.tag, A); 76 document.registerElement(A.tag, A);
77 var x = new A(); 77 var x = new A();
78 expect(A.createdInvocations, 1); 78 expect(A.createdInvocations, 1);
79 }); 79 });
80 80
81 test('unresolved and created callback timing', () { 81 test('unresolved and created callback timing', () {
82 var div = new DivElement(); 82 var div = new DivElement();
83 C.div = div; 83 C.div = div;
84 div.setInnerHtml(""" 84 div.setInnerHtml("""
85 <x-c id="t"></x-c> 85 <x-c id="t"></x-c>
86 <x-b id="u"></x-b> 86 <x-b id="u"></x-b>
(...skipping 13 matching lines...) Expand all
100 AccessWhileUpgradingElement.test); 100 AccessWhileUpgradingElement.test);
101 101
102 test('cannot call created constructor', () { 102 test('cannot call created constructor', () {
103 expect(() { 103 expect(() {
104 new B.created(); 104 new B.created();
105 }, throws); 105 }, throws);
106 }); 106 });
107 107
108 test('cannot register without created', () { 108 test('cannot register without created', () {
109 expect(() { 109 expect(() {
110 document.register(MissingCreatedElement.tag, MissingCreatedElement); 110 document.registerElement(MissingCreatedElement.tag,
111 MissingCreatedElement);
111 }, throws); 112 }, throws);
112 }); 113 });
113 114
114 test('throw on createElement does not upgrade', () { 115 test('throw on createElement does not upgrade', () {
115 ErrorConstructorElement.callCount = 0; 116 ErrorConstructorElement.callCount = 0;
116 117
117 var e; 118 var e;
118 expectGlobalError(() { 119 expectGlobalError(() {
119 e = new Element.tag(ErrorConstructorElement.tag); 120 e = new Element.tag(ErrorConstructorElement.tag);
120 }); 121 });
(...skipping 21 matching lines...) Expand all
142 143
143 var e = dummy.firstChild; 144 var e = dummy.firstChild;
144 // Accessing should not re-run the constructor. 145 // Accessing should not re-run the constructor.
145 expect(ErrorConstructorElement.callCount, 1); 146 expect(ErrorConstructorElement.callCount, 1);
146 expect(e is HtmlElement, isTrue); 147 expect(e is HtmlElement, isTrue);
147 expect(e is ErrorConstructorElement, isFalse); 148 expect(e is ErrorConstructorElement, isFalse);
148 }); 149 });
149 150
150 test('cannot register created with params', () { 151 test('cannot register created with params', () {
151 expect(() { 152 expect(() {
152 document.register('x-created-with-params', CreatedWithParametersElement); 153 document.registerElement('x-created-with-params',
154 CreatedWithParametersElement);
153 }, throws); 155 }, throws);
154 }); 156 });
155 157
156 test('created cannot be called from nested constructor', 158 test('created cannot be called from nested constructor',
157 NestedCreatedConstructorElement.test); 159 NestedCreatedConstructorElement.test);
158 160
159 161
160 // TODO(vsm): Port additional test from upstream here: 162 // TODO(vsm): Port additional test from upstream here:
161 // http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/custom/crea ted-callback.html?r1=156141&r2=156185 163 // http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/custom/crea ted-callback.html?r1=156141&r2=156185
162 } 164 }
163 165
164 166
165 class NestedElement extends HtmlElement { 167 class NestedElement extends HtmlElement {
166 static final tag = 'x-nested'; 168 static final tag = 'x-nested';
167 169
168 final Element b = new B(); 170 final Element b = new B();
169 171
170 factory NestedElement() => new Element.tag(tag); 172 factory NestedElement() => new Element.tag(tag);
171 NestedElement.created() : super.created(); 173 NestedElement.created() : super.created();
172 174
173 static void register() { 175 static void register() {
174 document.register(tag, NestedElement); 176 document.registerElement(tag, NestedElement);
175 } 177 }
176 178
177 static void test() { 179 static void test() {
178 register(); 180 register();
179 181
180 var e = new NestedElement(); 182 var e = new NestedElement();
181 expect(e.b, isNotNull); 183 expect(e.b, isNotNull);
182 expect(e.b is B, isTrue); 184 expect(e.b is B, isTrue);
183 expect(e is NestedElement, isTrue); 185 expect(e is NestedElement, isTrue);
184 } 186 }
(...skipping 11 matching lines...) Expand all
196 factory AccessWhileUpgradingElement() => new Element.tag(tag); 198 factory AccessWhileUpgradingElement() => new Element.tag(tag);
197 AccessWhileUpgradingElement.created() : super.created(); 199 AccessWhileUpgradingElement.created() : super.created();
198 200
199 static runInitializerCode() { 201 static runInitializerCode() {
200 upgradingContextChild = upgradingContext.firstChild; 202 upgradingContextChild = upgradingContext.firstChild;
201 203
202 return 666; 204 return 666;
203 } 205 }
204 206
205 static void register() { 207 static void register() {
206 document.register(tag, AccessWhileUpgradingElement); 208 document.registerElement(tag, AccessWhileUpgradingElement);
207 } 209 }
208 210
209 static void test() { 211 static void test() {
210 register(); 212 register();
211 213
212 upgradingContext = new DivElement(); 214 upgradingContext = new DivElement();
213 upgradingContext.setInnerHtml('<$tag></$tag>', 215 upgradingContext.setInnerHtml('<$tag></$tag>',
214 treeSanitizer: new NullTreeSanitizer()); 216 treeSanitizer: new NullTreeSanitizer());
215 var child = upgradingContext.firstChild; 217 var child = upgradingContext.firstChild;
216 218
(...skipping 15 matching lines...) Expand all
232 static int callCount = 0; 234 static int callCount = 0;
233 235
234 factory ErrorConstructorElement() => new Element.tag(tag); 236 factory ErrorConstructorElement() => new Element.tag(tag);
235 237
236 ErrorConstructorElement.created() : super.created() { 238 ErrorConstructorElement.created() : super.created() {
237 ++callCount; 239 ++callCount;
238 throw new Exception('Just messin with ya'); 240 throw new Exception('Just messin with ya');
239 } 241 }
240 242
241 static void register() { 243 static void register() {
242 document.register(tag, ErrorConstructorElement); 244 document.registerElement(tag, ErrorConstructorElement);
243 } 245 }
244 } 246 }
245 247
246 class NestedCreatedConstructorElement extends HtmlElement { 248 class NestedCreatedConstructorElement extends HtmlElement {
247 static final tag = 'x-nested-created-constructor'; 249 static final tag = 'x-nested-created-constructor';
248 250
249 // Should not be able to call this here. 251 // Should not be able to call this here.
250 final B b = constructB(); 252 final B b = constructB();
251 static B constructedB; 253 static B constructedB;
252 254
253 factory NestedCreatedConstructorElement() => new Element.tag(tag); 255 factory NestedCreatedConstructorElement() => new Element.tag(tag);
254 NestedCreatedConstructorElement.created() : super.created(); 256 NestedCreatedConstructorElement.created() : super.created();
255 257
256 static void register() { 258 static void register() {
257 document.register(tag, NestedCreatedConstructorElement); 259 document.registerElement(tag, NestedCreatedConstructorElement);
258 } 260 }
259 261
260 // Try to run the created constructor, and record the results. 262 // Try to run the created constructor, and record the results.
261 static constructB() { 263 static constructB() {
262 // This should throw an exception. 264 // This should throw an exception.
263 constructedB = new B.created(); 265 constructedB = new B.created();
264 return constructedB; 266 return constructedB;
265 } 267 }
266 268
267 static void test() { 269 static void test() {
(...skipping 22 matching lines...) Expand all
290 } catch(e) { 292 } catch(e) {
291 rethrow; 293 rethrow;
292 } finally { 294 } finally {
293 js.context['testExpectsGlobalError'] = false; 295 js.context['testExpectsGlobalError'] = false;
294 } 296 }
295 var errors = js.context['testSuppressedGlobalErrors']; 297 var errors = js.context['testSuppressedGlobalErrors'];
296 expect(errors['length'], 1); 298 expect(errors['length'], 1);
297 // Clear out the errors; 299 // Clear out the errors;
298 js.context['testSuppressedGlobalErrors']['length'] = 0; 300 js.context['testSuppressedGlobalErrors']['length'] = 0;
299 } 301 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698