| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 // Helper class for writing compiler tests. | 5 // Helper class for writing compiler tests. |
| 6 library trydart.compiler_test_case; | 6 library trydart.compiler_test_case; |
| 7 | 7 |
| 8 import 'dart:async' show | 8 import 'dart:async' show |
| 9 Future; | 9 Future; |
| 10 | 10 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 final MockCompiler compiler; | 52 final MockCompiler compiler; |
| 53 | 53 |
| 54 CompilerTestCase.init(this.source, this.scriptUri, this.compiler); | 54 CompilerTestCase.init(this.source, this.scriptUri, this.compiler); |
| 55 | 55 |
| 56 CompilerTestCase.intermediate(String source, Uri scriptUri) | 56 CompilerTestCase.intermediate(String source, Uri scriptUri) |
| 57 : this.init(source, scriptUri, compilerFor(source, scriptUri)); | 57 : this.init(source, scriptUri, compilerFor(source, scriptUri)); |
| 58 | 58 |
| 59 CompilerTestCase(String source, [String path]) | 59 CompilerTestCase(String source, [String path]) |
| 60 : this.intermediate(source, customUri(path == null ? 'main.dart' : path)); | 60 : this.intermediate(source, customUri(path == null ? 'main.dart' : path)); |
| 61 | 61 |
| 62 Future<LibraryElement> get mainApp { | 62 Future<LibraryElement> loadMainApp() { |
| 63 return compiler.libraryLoader.loadLibrary(scriptUri) | 63 return compiler.libraryLoader.loadLibrary(scriptUri) |
| 64 .then((LibraryElement library) { | 64 .then((LibraryElement library) { |
| 65 if (compiler.mainApp == null) { | 65 if (compiler.mainApp == null) { |
| 66 compiler.mainApp = library; | 66 compiler.mainApp = library; |
| 67 } else if (compiler.mainApp != library) { | 67 } else if (compiler.mainApp != library) { |
| 68 throw | 68 throw |
| 69 "Inconsistent use of compiler" | 69 "Inconsistent use of compiler" |
| 70 " (${compiler.mainApp} != $library)."; | 70 " (${compiler.mainApp} != $library)."; |
| 71 } | 71 } |
| 72 return library; | 72 return library; |
| 73 }); | 73 }); |
| 74 } | 74 } |
| 75 | 75 |
| 76 Future run(); | 76 Future run(); |
| 77 | 77 |
| 78 /// Returns a future for the mainApp after running the compiler. | 78 /// Returns a future for the mainApp after running the compiler. |
| 79 Future<LibraryElement> compile() { | 79 Future<LibraryElement> compile() { |
| 80 return mainApp.then((LibraryElement library) { | 80 return loadMainApp().then((LibraryElement library) { |
| 81 return compiler.runCompiler(scriptUri).then((_) => library); | 81 return compiler.runCompiler(scriptUri).then((_) => library); |
| 82 }); | 82 }); |
| 83 } | 83 } |
| 84 | 84 |
| 85 String toString() => source; | 85 String toString() => source; |
| 86 } | 86 } |
| OLD | NEW |