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

Unified 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, 10 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 side-by-side diff with in-line comments
Download patch
« 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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/html/custom_element_method_clash_test.dart
diff --git a/tests/html/custom_element_method_clash_test.dart b/tests/html/custom_element_method_clash_test.dart
new file mode 100644
index 0000000000000000000000000000000000000000..c3f8a008cff1526630414726661600b1c3fd604f
--- /dev/null
+++ b/tests/html/custom_element_method_clash_test.dart
@@ -0,0 +1,47 @@
+// Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+library custom_elements_method_clash;
+
+import 'dart:async';
+import 'dart:html';
+import 'package:unittest/html_individual_config.dart';
+import 'package:unittest/unittest.dart';
+import 'utils.dart';
+
+class CustomElement extends HtmlElement {
+ factory CustomElement() => new Element.tag('x-custom');
+
+ CustomElement.created() : super.created() {
+ }
+
+ // Try to clash with native 'appendChild' method.
+ void appendChild() {
+ throw 'Gotcha!';
+ }
+}
+
+main() {
+ useHtmlIndividualConfiguration();
+
+ setUp(() => customElementsReady);
+
+ group('test', () {
+ test('test', () {
+ document.registerElement('x-custom', CustomElement);
+ CustomElement custom = new CustomElement();
+ document.body.children.add(custom);
+
+ // Will call appendChild in JS.
+ custom.children.add(new DivElement()..text = 'Hello world!');
+
+ try {
+ custom.appendChild(); // Make sure method is not tree shaken.
+ fail('appendChild did not throw');
+ } catch(e) {
+ expect(e, equals('Gotcha!'));
+ }
+ });
+ });
+}
« 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