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

Unified Diff: tests/compiler/dart2js/unparser_test.dart

Issue 10828390: dart2dart Fix factory for interfaces renames (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 8 years, 4 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
Index: tests/compiler/dart2js/unparser_test.dart
diff --git a/tests/compiler/dart2js/unparser_test.dart b/tests/compiler/dart2js/unparser_test.dart
index ba9cd81b70f17d947ca2de9ad0539782e6608518..b6107c917ac4382c4c1b6914e6da32a16dd8dfd4 100644
--- a/tests/compiler/dart2js/unparser_test.dart
+++ b/tests/compiler/dart2js/unparser_test.dart
@@ -477,6 +477,42 @@ main() {
Expect.isTrue(collector.elementNodes[classElement].contains(defaultTypeNode));
}
+testFactoryRename() {
+ var librarySrc = '''
+#library('mylib');
+
+interface I default B { I(); }
+class A implements I { A() {} }
+class B { factory I() {} }
+
+''';
+ var mainSrc = '''
+#import('mylib.dart', prefix: 'mylib');
+
+interface I default B { I(); }
+class A implements I { A() {} }
+class B { factory I() {} }
+
+main() {
+ new I();
+ new A();
+
+ new mylib.I();
+ new mylib.A();
+}
+''';
+ var expectedResult =
+ 'interface p_I default B{p_I();}'
+ 'class A implements p_I{A(){}}'
+ 'class B{factory p_I(){}}'
+ 'interface I default p_B{I();}'
+ 'class p_A implements I{p_A(){}}'
+ 'class p_B{factory I(){}}'
+ 'main(){new I(); new p_A(); new p_I(); new A();}';
+ testDart2DartWithLibrary(mainSrc, librarySrc,
+ (String result) { Expect.equals(expectedResult, result); });
+}
+
main() {
testSignedConstants();
testGenericTypes();
@@ -507,4 +543,5 @@ main() {
// testLibraryGetSet(); // http://dartbug.com/4604
testFieldTypeOutput();
testDefaultClassNamePlaceholder();
+ testFactoryRename();
}

Powered by Google App Engine
This is Rietveld 408576698