OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 library compiler_helper; | 5 library compiler_helper; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import "package:expect/expect.dart"; | 8 import "package:expect/expect.dart"; |
9 | 9 |
10 import 'package:compiler/src/elements/elements.dart' | 10 import 'package:compiler/src/elements/elements.dart' |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 int expectedWarnings}) { | 139 int expectedWarnings}) { |
140 Uri uri = new Uri(scheme: 'source'); | 140 Uri uri = new Uri(scheme: 'source'); |
141 OutputCollector outputCollector = new OutputCollector(); | 141 OutputCollector outputCollector = new OutputCollector(); |
142 MockCompiler compiler = compilerFor( | 142 MockCompiler compiler = compilerFor( |
143 code, uri, coreSource: coreSource, disableInlining: disableInlining, | 143 code, uri, coreSource: coreSource, disableInlining: disableInlining, |
144 minify: minify, expectedErrors: expectedErrors, | 144 minify: minify, expectedErrors: expectedErrors, |
145 trustTypeAnnotations: trustTypeAnnotations, | 145 trustTypeAnnotations: trustTypeAnnotations, |
146 expectedWarnings: expectedWarnings, | 146 expectedWarnings: expectedWarnings, |
147 outputProvider: outputCollector); | 147 outputProvider: outputCollector); |
148 compiler.diagnosticHandler = createHandler(compiler, code); | 148 compiler.diagnosticHandler = createHandler(compiler, code); |
149 return compiler.runCompiler(uri).then((_) { | 149 return compiler.run(uri).then((compilationSucceded) { |
150 Expect.isFalse(compiler.compilationFailed, | 150 Expect.isTrue(compilationSucceded, |
151 'Unexpected compilation error(s): ${compiler.errors}'); | 151 'Unexpected compilation error(s): ${compiler.errors}'); |
152 return outputCollector.getOutput('', 'js'); | 152 return outputCollector.getOutput('', 'js'); |
153 }); | 153 }); |
154 } | 154 } |
155 | 155 |
156 Future compileAndCheck(String code, | 156 Future compileAndCheck(String code, |
157 String name, | 157 String name, |
158 check(MockCompiler compiler, lego.Element element), | 158 check(MockCompiler compiler, lego.Element element), |
159 {int expectedErrors, int expectedWarnings}) { | 159 {int expectedErrors, int expectedWarnings}) { |
160 Uri uri = new Uri(scheme: 'source'); | 160 Uri uri = new Uri(scheme: 'source'); |
161 MockCompiler compiler = compilerFor(code, uri, | 161 MockCompiler compiler = compilerFor(code, uri, |
162 expectedErrors: expectedErrors, | 162 expectedErrors: expectedErrors, |
163 expectedWarnings: expectedWarnings); | 163 expectedWarnings: expectedWarnings); |
164 return compiler.runCompiler(uri).then((_) { | 164 return compiler.run(uri).then((_) { |
165 lego.Element element = findElement(compiler, name); | 165 lego.Element element = findElement(compiler, name); |
166 return check(compiler, element); | 166 return check(compiler, element); |
167 }); | 167 }); |
168 } | 168 } |
169 | 169 |
170 Future compileSources(Map<String, String> sources, | 170 Future compileSources(Map<String, String> sources, |
171 check(MockCompiler compiler)) { | 171 check(MockCompiler compiler)) { |
172 Uri base = new Uri(scheme: 'source'); | 172 Uri base = new Uri(scheme: 'source'); |
173 Uri mainUri = base.resolve('main.dart'); | 173 Uri mainUri = base.resolve('main.dart'); |
174 String mainCode = sources['main.dart']; | 174 String mainCode = sources['main.dart']; |
175 Expect.isNotNull(mainCode, 'No source code found for "main.dart"'); | 175 Expect.isNotNull(mainCode, 'No source code found for "main.dart"'); |
176 MockCompiler compiler = compilerFor(mainCode, mainUri); | 176 MockCompiler compiler = compilerFor(mainCode, mainUri); |
177 sources.forEach((String path, String code) { | 177 sources.forEach((String path, String code) { |
178 if (path == 'main.dart') return; | 178 if (path == 'main.dart') return; |
179 compiler.registerSource(base.resolve(path), code); | 179 compiler.registerSource(base.resolve(path), code); |
180 }); | 180 }); |
181 | 181 |
182 return compiler.runCompiler(mainUri).then((_) { | 182 return compiler.run(mainUri).then((_) { |
183 return check(compiler); | 183 return check(compiler); |
184 }); | 184 }); |
185 } | 185 } |
186 | 186 |
187 lego.Element findElement(compiler, String name, [Uri library]) { | 187 lego.Element findElement(compiler, String name, [Uri library]) { |
188 lego.LibraryElement lib = compiler.mainApp; | 188 lego.LibraryElement lib = compiler.mainApp; |
189 if (library != null) { | 189 if (library != null) { |
190 lib = compiler.libraryLoader.lookupLibrary(library); | 190 lib = compiler.libraryLoader.lookupLibrary(library); |
191 Expect.isNotNull(lib, 'Could not locate library $library.'); | 191 Expect.isNotNull(lib, 'Could not locate library $library.'); |
192 } | 192 } |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)'); | 280 regexp = regexp.replaceAll(xRe, '(?:$anyIdentifier)'); |
281 final spaceRe = new RegExp('\\s+'); | 281 final spaceRe = new RegExp('\\s+'); |
282 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)'); | 282 regexp = regexp.replaceAll(spaceRe, '(?:\\s*)'); |
283 if (shouldMatch) { | 283 if (shouldMatch) { |
284 Expect.isTrue(new RegExp(regexp).hasMatch(generated)); | 284 Expect.isTrue(new RegExp(regexp).hasMatch(generated)); |
285 } else { | 285 } else { |
286 Expect.isFalse(new RegExp(regexp).hasMatch(generated)); | 286 Expect.isFalse(new RegExp(regexp).hasMatch(generated)); |
287 } | 287 } |
288 }); | 288 }); |
289 } | 289 } |
OLD | NEW |