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

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

Issue 891673003: dart2js: Refactoring, documentation, and a few bugfixes in Namer class. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Rebase Created 5 years, 9 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
(Empty)
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
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.
4
5 library custom_elements_method_clash;
6
7 import 'dart:async';
8 import 'dart:html';
9 import 'package:unittest/html_individual_config.dart';
10 import 'package:unittest/unittest.dart';
11 import 'utils.dart';
12
13 class CustomElement extends HtmlElement {
14 factory CustomElement() => new Element.tag('x-custom');
15
16 CustomElement.created() : super.created() {
17 }
18
19 // Try to clash with native 'appendChild' method.
20 void appendChild() {
21 throw 'Gotcha!';
22 }
23 }
24
25 main() {
26 useHtmlIndividualConfiguration();
27
28 setUp(() => customElementsReady);
29
30 group('test', () {
31 test('test', () {
32 document.registerElement('x-custom', CustomElement);
33 CustomElement custom = new CustomElement();
34 document.body.children.add(custom);
35
36 // Will call appendChild in JS.
37 custom.children.add(new DivElement()..text = 'Hello world!');
38
39 try {
40 custom.appendChild(); // Make sure method is not tree shaken.
41 fail('appendChild did not throw');
42 } catch(e) {
43 expect(e, equals('Gotcha!'));
44 }
45 });
46 });
47 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/mirrors_used_test.dart ('k') | tests/html/custom_element_method_clash_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698