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

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

Issue 30283002: Adding validation that Custom element constructor has zero args (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 | « no previous file | tools/dom/src/native_DOMImplementation.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 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 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 140
141 expect(ErrorConstructorElement.callCount, 1); 141 expect(ErrorConstructorElement.callCount, 1);
142 142
143 var e = dummy.firstChild; 143 var e = dummy.firstChild;
144 // Accessing should not re-run the constructor. 144 // Accessing should not re-run the constructor.
145 expect(ErrorConstructorElement.callCount, 1); 145 expect(ErrorConstructorElement.callCount, 1);
146 expect(e is HtmlElement, isTrue); 146 expect(e is HtmlElement, isTrue);
147 expect(e is ErrorConstructorElement, isFalse); 147 expect(e is ErrorConstructorElement, isFalse);
148 }); 148 });
149 149
150 test('cannot register created with params', () {
151 expect(() {
152 document.register('x-created-with-params', CreatedWithParametersElement);
153 }, throws);
154 });
155
150 test('created cannot be called from nested constructor', 156 test('created cannot be called from nested constructor',
151 NestedCreatedConstructorElement.test); 157 NestedCreatedConstructorElement.test);
152 158
153 159
154 // TODO(vsm): Port additional test from upstream here: 160 // TODO(vsm): Port additional test from upstream here:
155 // http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/custom/crea ted-callback.html?r1=156141&r2=156185 161 // http://src.chromium.org/viewvc/blink/trunk/LayoutTests/fast/dom/custom/crea ted-callback.html?r1=156141&r2=156185
156 } 162 }
157 163
158 164
159 class NestedElement extends HtmlElement { 165 class NestedElement extends HtmlElement {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
266 expectGlobalError(() { 272 expectGlobalError(() {
267 e = new Element.tag(tag); 273 e = new Element.tag(tag);
268 }); 274 });
269 expect(e is NestedCreatedConstructorElement, isFalse); 275 expect(e is NestedCreatedConstructorElement, isFalse);
270 expect(e is HtmlElement, isTrue); 276 expect(e is HtmlElement, isTrue);
271 // Should not have been set. 277 // Should not have been set.
272 expect(constructedB, isNull); 278 expect(constructedB, isNull);
273 } 279 }
274 } 280 }
275 281
282 class CreatedWithParametersElement extends HtmlElement {
283 CreatedWithParametersElement.created(ignoredParam) : super.created();
284 }
285
276 void expectGlobalError(Function test) { 286 void expectGlobalError(Function test) {
277 js.context['testExpectsGlobalError'] = true; 287 js.context['testExpectsGlobalError'] = true;
278 try { 288 try {
279 test(); 289 test();
280 } catch(e) { 290 } catch(e) {
281 rethrow; 291 rethrow;
282 } finally { 292 } finally {
283 js.context['testExpectsGlobalError'] = false; 293 js.context['testExpectsGlobalError'] = false;
284 } 294 }
285 var errors = js.context['testSuppressedGlobalErrors']; 295 var errors = js.context['testSuppressedGlobalErrors'];
286 expect(errors['length'], 1); 296 expect(errors['length'], 1);
287 // Clear out the errors; 297 // Clear out the errors;
288 js.context['testSuppressedGlobalErrors']['length'] = 0; 298 js.context['testSuppressedGlobalErrors']['length'] = 0;
289 } 299 }
OLDNEW
« no previous file with comments | « no previous file | tools/dom/src/native_DOMImplementation.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698