Index: tests/try/poi/library_updater_test.dart |
diff --git a/tests/try/poi/library_updater_test.dart b/tests/try/poi/library_updater_test.dart |
deleted file mode 100644 |
index b37fac50a13298b462d74081909747753cb253ea..0000000000000000000000000000000000000000 |
--- a/tests/try/poi/library_updater_test.dart |
+++ /dev/null |
@@ -1,140 +0,0 @@ |
-// Copyright (c) 2014, 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. |
- |
-// Test of LibraryUpdater (one compilation unit per library). |
-library trydart.library_updater_test; |
- |
-import 'package:dart2js_incremental/library_updater.dart' show |
- IncrementalCompilerContext, |
- LibraryUpdater, |
- Update; |
- |
-import 'package:compiler/src/script.dart' show |
- Script; |
- |
-import 'package:compiler/src/io/source_file.dart' show |
- StringSourceFile; |
- |
-import 'compiler_test_case.dart'; |
- |
-void nolog(_) {} |
- |
-Script newScriptFrom(LibraryElement library, String newSource) { |
- Script script = library.entryCompilationUnit.script; |
- return script.copyWithFile( |
- new StringSourceFile.fromUri(script.file.uri, newSource)); |
-} |
- |
-class LibraryUpdaterTestCase extends CompilerTestCase { |
- final String newSource; |
- |
- final bool expectedCanReuse; |
- |
- final List<String> expectedUpdates; |
- |
- LibraryUpdaterTestCase( |
- {String before, |
- String after, |
- bool canReuse, |
- List<String> updates}) |
- : this.newSource = after, |
- this.expectedCanReuse = canReuse, |
- this.expectedUpdates = updates, |
- super(before); |
- |
- Future run() => loadMainApp().then((LibraryElement library) { |
- var context = new IncrementalCompilerContext(); |
- LibraryUpdater updater = |
- new LibraryUpdater(this.compiler, null, nolog, nolog, context); |
- context.registerUriWithUpdates([scriptUri]); |
- bool actualCanReuse = |
- updater.canReuseLibrary( |
- library, <Script>[newScriptFrom(library, newSource)]); |
- Expect.equals(expectedCanReuse, actualCanReuse); |
- |
- Expect.setEquals( |
- expectedUpdates.toSet(), |
- updater.updates.map(nameOfUpdate).toSet()); |
- }); |
- |
- String toString() => 'Before:\n$source\n\n\nAfter:\n$newSource'; |
-} |
- |
-String nameOfUpdate(Update update) { |
- var element = update.before; |
- if (element == null) element = update.after; |
- return element.name; |
-} |
- |
-void main() { |
- runTests( |
- [ |
- // Only method body changed. Can be reused if 'main' is |
- // updated/patched. |
- new LibraryUpdaterTestCase( |
- before: 'main() { print("Hello, World!"); }', |
- after: 'main() { print("Hello, Brave New World!"); }', |
- canReuse: true, |
- updates: ['main']), |
- |
- // Signature changed. Can't be reused. |
- new LibraryUpdaterTestCase( |
- before: 'main() { print("Hello, World!"); }', |
- after: 'void main() { print("Hello, World!"); }', |
- canReuse: true, |
- updates: ['main']), |
- |
- // Only whitespace changes. Can be reused; no updates/patches needed. |
- new LibraryUpdaterTestCase( |
- before: 'main(){print("Hello, World!");}', |
- after: 'main() { print ( "Hello, World!" ) ; }', |
- canReuse: true, |
- updates: []), |
- |
- // Only whitespace/comment changes (in signature). Can be reused; no |
- // updates/patches needed. |
- new LibraryUpdaterTestCase( |
- before: |
- '/* Implicitly dynamic. */ main ( /* No parameters. */ ) ' |
- '{print("Hello, World!");}', |
- after: 'main() {print("Hello, World!");}', |
- canReuse: true, |
- updates: []), |
- |
- // Arrow function changed to method body. Can be reused if 'main' is |
- // updated/patched. |
- new LibraryUpdaterTestCase( |
- before: 'main() => null', |
- after: 'main() { return null; }', |
- canReuse: true, |
- updates: ['main']), |
- |
- // Empty body changed to contain a statement. Can be reused if 'main' |
- // is updated/patched. |
- new LibraryUpdaterTestCase( |
- before: 'main() {}', |
- after: 'main() { return null; }', |
- canReuse: true, |
- updates: ['main']), |
- |
- // Empty body changed to arrow. Can be reused if 'main' |
- // is updated/patched. |
- new LibraryUpdaterTestCase( |
- before: 'main() {}', |
- after: 'main() => null;', |
- canReuse: true, |
- updates: ['main']), |
- |
- // Arrow changed to empty body. Can be reused if 'main' |
- // is updated/patched. |
- new LibraryUpdaterTestCase( |
- before: 'main() => null;', |
- after: 'main() {}', |
- canReuse: true, |
- updates: ['main']), |
- |
- // TODO(ahe): When supporting class members, test abstract methods. |
- ] |
- ); |
-} |