Index: tests/compiler/dart2js/import_mirrors_test.dart |
diff --git a/tests/compiler/dart2js/import_mirrors_test.dart b/tests/compiler/dart2js/import_mirrors_test.dart |
index f5f799be74a36e99b557e3cc66d75aa8e8a4b2b8..1b16f762a1bdb680d986f0e5ba086f847da0c29d 100644 |
--- a/tests/compiler/dart2js/import_mirrors_test.dart |
+++ b/tests/compiler/dart2js/import_mirrors_test.dart |
@@ -1,413 +1,413 @@ |
-// 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 that the compiler emits a warning on import of 'dart:mirrors' unless |
-// the flag --enable-experimental-mirrors is used. |
- |
-library dart2js.test.import; |
- |
-import 'dart:async'; |
-import 'package:expect/expect.dart'; |
-import 'package:async_helper/async_helper.dart'; |
-import 'package:compiler/src/dart2jslib.dart' show MessageKind; |
-import 'memory_compiler.dart'; |
- |
-const DIRECT_IMPORT = const { |
- '/main.dart': ''' |
-import 'dart:mirrors'; |
- |
-main() {} |
-''', |
- |
- 'paths': |
- "main.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_IMPORT1 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_IMPORT2 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'second.dart'; |
-''', |
- '/second.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "second.dart => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => second.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_PACKAGE_IMPORT1 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'package:second/second.dart'; |
-''', |
- '/pkg/second/second.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => package:second => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => package:second/second.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_PACKAGE_IMPORT2 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'package:packagename/second.dart'; |
-''', |
- '/pkg/packagename/second.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => package:packagename => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => package:packagename/second.dart " |
- "=> dart:mirrors", |
-}; |
- |
-const INDIRECT_PACKAGE_IMPORT3 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'package:package1/second.dart'; |
-''', |
- '/pkg/package1/second.dart': ''' |
-import 'package:package2/third.dart'; |
-''', |
- '/pkg/package2/third.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => package:package1 => package:package2 => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => package:package1/second.dart " |
- "=> package:package2/third.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_PACKAGE_IMPORT4 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'package:package1/second.dart'; |
-''', |
- '/pkg/package1/second.dart': ''' |
-import 'sub/third.dart'; |
-''', |
- '/pkg/package1/sub/third.dart': ''' |
-import 'package:package2/fourth.dart'; |
-''', |
- '/pkg/package2/fourth.dart': ''' |
-import 'lib/src/fifth.dart'; |
-''', |
- '/pkg/package2/lib/src/fifth.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => package:package1 => package:package2 => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => package:package1/second.dart " |
- "=> package:package1/sub/third.dart => package:package2/fourth.dart " |
- "=> package:package2/lib/src/fifth.dart => dart:mirrors", |
-}; |
- |
-const DUAL_DIRECT_IMPORT = const { |
- '/main.dart': ''' |
-import 'dart:mirrors'; |
-import 'dart:mirrors'; |
- |
-main() {} |
-''', |
- |
- 'paths': |
- "main.dart => dart:mirrors", |
-}; |
- |
-const DUAL_INDIRECT_IMPORT1 = const { |
- '/main.dart': ''' |
-import 'dart:mirrors'; |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': const |
- ["main.dart => dart:mirrors", |
- "first.dart => dart:mirrors"], |
- 'verbosePaths': const |
- ["main.dart => dart:mirrors", |
- "main.dart => first.dart => dart:mirrors"], |
-}; |
- |
-const DUAL_INDIRECT_IMPORT2 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
-import 'second.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- '/second.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': const |
- ["first.dart => dart:mirrors", |
- "second.dart => dart:mirrors"], |
- 'verbosePaths': const |
- ["main.dart => first.dart => dart:mirrors", |
- "main.dart => second.dart => dart:mirrors"], |
-}; |
- |
-const DUAL_INDIRECT_IMPORT3 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
-import 'second.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'third.dart'; |
-''', |
- '/second.dart': ''' |
-import 'third.dart'; |
-''', |
- '/third.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "third.dart => dart:mirrors", |
- 'verbosePaths': const |
- ["main.dart => first.dart => third.dart => dart:mirrors", |
- "main.dart => second.dart => third.dart => dart:mirrors"], |
-}; |
- |
-const DUAL_INDIRECT_PACKAGE_IMPORT1 = const { |
- '/main.dart': ''' |
-import 'package:package1/second.dart'; |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'package:package2/third.dart'; |
-''', |
- '/pkg/package1/second.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- '/pkg/package2/third.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': const |
- ["main.dart => package:package1 => dart:mirrors", |
- "first.dart => package:package2 => dart:mirrors"], |
- 'verbosePaths': const |
- ["main.dart => package:package1/second.dart => dart:mirrors", |
- "main.dart => first.dart => package:package2/third.dart => dart:mirrors"] |
-}; |
- |
-const DIRECT_EXPORT = const { |
- '/main.dart': ''' |
-export 'dart:mirrors'; |
- |
-main() {} |
-''', |
- |
- 'paths': |
- "main.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_EXPORT1 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-export 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_EXPORT2 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'second.dart'; |
-''', |
- '/second.dart': ''' |
-export 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "second.dart => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => second.dart => dart:mirrors", |
-}; |
- |
-const INDIRECT_PACKAGE_EXPORT1 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-import 'package:packagename/second.dart'; |
-''', |
- '/pkg/packagename/second.dart': ''' |
-export 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => package:packagename => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => package:packagename/second.dart " |
- "=> dart:mirrors", |
-}; |
- |
-const INDIRECT_PACKAGE_EXPORT2 = const { |
- '/main.dart': ''' |
-import 'first.dart'; |
- |
-main() {} |
-''', |
- '/first.dart': ''' |
-export 'package:packagename/second.dart'; |
-''', |
- '/pkg/packagename/second.dart': ''' |
-import 'dart:mirrors'; |
-''', |
- |
- 'paths': |
- "first.dart => package:packagename => dart:mirrors", |
- 'verbosePaths': |
- "main.dart => first.dart => package:packagename/second.dart " |
- "=> dart:mirrors", |
-}; |
- |
-Future test(Map sourceFiles, |
- {expectedPaths, |
- bool verbose: false, |
- bool enableExperimentalMirrors: false}) { |
- if (expectedPaths is! List) { |
- expectedPaths = [expectedPaths]; |
- } |
- var collector = new DiagnosticCollector(); |
- var options = []; |
- if (verbose) { |
- options.add('--verbose'); |
- } |
- if (enableExperimentalMirrors) { |
- options.add('--enable-experimental-mirrors'); |
- } |
- var compiler = compilerFor(sourceFiles, diagnosticHandler: collector, |
- packageRoot: Uri.parse('memory:/pkg/'), |
- options: options); |
- return compiler.run(Uri.parse('memory:/main.dart')).then((_) { |
- Expect.equals(0, collector.errors.length, 'Errors: ${collector.errors}'); |
- if (enableExperimentalMirrors) { |
- Expect.equals(0, collector.warnings.length, |
- 'Warnings: ${collector.errors}'); |
- } else { |
- Expect.equals(1, collector.warnings.length, |
- 'Warnings: ${collector.errors}'); |
- Expect.equals( |
- MessageKind.IMPORT_EXPERIMENTAL_MIRRORS.message( |
- {'importChain': expectedPaths.join( |
- MessageKind.IMPORT_EXPERIMENTAL_MIRRORS_PADDING)}).toString(), |
- collector.warnings.first.message); |
- } |
- }); |
-} |
- |
-Future checkPaths(Map sourceData) { |
- Map sourceFiles = sourceData; |
- var expectedPaths = sourceData['paths']; |
- var expectedVerbosePaths = sourceData['verbosePaths']; |
- if (expectedVerbosePaths == null) { |
- expectedVerbosePaths = expectedPaths; |
- } |
- return test(sourceFiles, expectedPaths: expectedPaths).then((_) { |
- return test( |
- sourceFiles, expectedPaths: expectedVerbosePaths, verbose: true); |
- }).then((_) { |
- return test(sourceFiles, enableExperimentalMirrors: true); |
- }); |
-} |
- |
-void main() { |
- asyncTest(() => Future.forEach([ |
- DIRECT_IMPORT, |
- INDIRECT_IMPORT1, |
- INDIRECT_IMPORT2, |
- INDIRECT_PACKAGE_IMPORT1, |
- INDIRECT_PACKAGE_IMPORT2, |
- INDIRECT_PACKAGE_IMPORT3, |
- INDIRECT_PACKAGE_IMPORT4, |
- DUAL_DIRECT_IMPORT, |
- DUAL_INDIRECT_IMPORT1, |
- DUAL_INDIRECT_IMPORT2, |
- DUAL_INDIRECT_IMPORT3, |
- DUAL_INDIRECT_PACKAGE_IMPORT1, |
- DIRECT_EXPORT, |
- INDIRECT_EXPORT1, |
- INDIRECT_EXPORT2, |
- INDIRECT_PACKAGE_EXPORT1, |
- INDIRECT_PACKAGE_EXPORT2], |
- (map) => checkPaths(map) |
- )); |
-} |
+// 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 that the compiler emits a warning on import of 'dart:mirrors' unless |
+// the flag --enable-experimental-mirrors is used. |
+ |
+library dart2js.test.import; |
+ |
+import 'dart:async'; |
+import 'package:expect/expect.dart'; |
+import 'package:async_helper/async_helper.dart'; |
+import 'package:compiler/src/dart2jslib.dart' show MessageKind; |
+import 'memory_compiler.dart'; |
+ |
+const DIRECT_IMPORT = const { |
+ '/main.dart': ''' |
+import 'dart:mirrors'; |
+ |
+main() {} |
+''', |
+ |
+ 'paths': |
+ "main.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_IMPORT1 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_IMPORT2 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'second.dart'; |
+''', |
+ '/second.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "second.dart => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => second.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_PACKAGE_IMPORT1 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'package:second/second.dart'; |
+''', |
+ '/pkg/second/second.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => package:second => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => package:second/second.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_PACKAGE_IMPORT2 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'package:packagename/second.dart'; |
+''', |
+ '/pkg/packagename/second.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => package:packagename => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => package:packagename/second.dart " |
+ "=> dart:mirrors", |
+}; |
+ |
+const INDIRECT_PACKAGE_IMPORT3 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'package:package1/second.dart'; |
+''', |
+ '/pkg/package1/second.dart': ''' |
+import 'package:package2/third.dart'; |
+''', |
+ '/pkg/package2/third.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => package:package1 => package:package2 => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => package:package1/second.dart " |
+ "=> package:package2/third.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_PACKAGE_IMPORT4 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'package:package1/second.dart'; |
+''', |
+ '/pkg/package1/second.dart': ''' |
+import 'sub/third.dart'; |
+''', |
+ '/pkg/package1/sub/third.dart': ''' |
+import 'package:package2/fourth.dart'; |
+''', |
+ '/pkg/package2/fourth.dart': ''' |
+import 'lib/src/fifth.dart'; |
+''', |
+ '/pkg/package2/lib/src/fifth.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => package:package1 => package:package2 => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => package:package1/second.dart " |
+ "=> package:package1/sub/third.dart => package:package2/fourth.dart " |
+ "=> package:package2/lib/src/fifth.dart => dart:mirrors", |
+}; |
+ |
+const DUAL_DIRECT_IMPORT = const { |
+ '/main.dart': ''' |
+import 'dart:mirrors'; |
+import 'dart:mirrors'; |
+ |
+main() {} |
+''', |
+ |
+ 'paths': |
+ "main.dart => dart:mirrors", |
+}; |
+ |
+const DUAL_INDIRECT_IMPORT1 = const { |
+ '/main.dart': ''' |
+import 'dart:mirrors'; |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': const |
+ ["main.dart => dart:mirrors", |
+ "first.dart => dart:mirrors"], |
+ 'verbosePaths': const |
+ ["main.dart => dart:mirrors", |
+ "main.dart => first.dart => dart:mirrors"], |
+}; |
+ |
+const DUAL_INDIRECT_IMPORT2 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+import 'second.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ '/second.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': const |
+ ["first.dart => dart:mirrors", |
+ "second.dart => dart:mirrors"], |
+ 'verbosePaths': const |
+ ["main.dart => first.dart => dart:mirrors", |
+ "main.dart => second.dart => dart:mirrors"], |
+}; |
+ |
+const DUAL_INDIRECT_IMPORT3 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+import 'second.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'third.dart'; |
+''', |
+ '/second.dart': ''' |
+import 'third.dart'; |
+''', |
+ '/third.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "third.dart => dart:mirrors", |
+ 'verbosePaths': const |
+ ["main.dart => first.dart => third.dart => dart:mirrors", |
+ "main.dart => second.dart => third.dart => dart:mirrors"], |
+}; |
+ |
+const DUAL_INDIRECT_PACKAGE_IMPORT1 = const { |
+ '/main.dart': ''' |
+import 'package:package1/second.dart'; |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'package:package2/third.dart'; |
+''', |
+ '/pkg/package1/second.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ '/pkg/package2/third.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': const |
+ ["main.dart => package:package1 => dart:mirrors", |
+ "first.dart => package:package2 => dart:mirrors"], |
+ 'verbosePaths': const |
+ ["main.dart => package:package1/second.dart => dart:mirrors", |
+ "main.dart => first.dart => package:package2/third.dart => dart:mirrors"] |
+}; |
+ |
+const DIRECT_EXPORT = const { |
+ '/main.dart': ''' |
+export 'dart:mirrors'; |
+ |
+main() {} |
+''', |
+ |
+ 'paths': |
+ "main.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_EXPORT1 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+export 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_EXPORT2 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'second.dart'; |
+''', |
+ '/second.dart': ''' |
+export 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "second.dart => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => second.dart => dart:mirrors", |
+}; |
+ |
+const INDIRECT_PACKAGE_EXPORT1 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+import 'package:packagename/second.dart'; |
+''', |
+ '/pkg/packagename/second.dart': ''' |
+export 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => package:packagename => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => package:packagename/second.dart " |
+ "=> dart:mirrors", |
+}; |
+ |
+const INDIRECT_PACKAGE_EXPORT2 = const { |
+ '/main.dart': ''' |
+import 'first.dart'; |
+ |
+main() {} |
+''', |
+ '/first.dart': ''' |
+export 'package:packagename/second.dart'; |
+''', |
+ '/pkg/packagename/second.dart': ''' |
+import 'dart:mirrors'; |
+''', |
+ |
+ 'paths': |
+ "first.dart => package:packagename => dart:mirrors", |
+ 'verbosePaths': |
+ "main.dart => first.dart => package:packagename/second.dart " |
+ "=> dart:mirrors", |
+}; |
+ |
+Future test(Map sourceFiles, |
+ {expectedPaths, |
+ bool verbose: false, |
+ bool enableExperimentalMirrors: false}) { |
+ if (expectedPaths is! List) { |
+ expectedPaths = [expectedPaths]; |
+ } |
+ var collector = new DiagnosticCollector(); |
+ var options = []; |
+ if (verbose) { |
+ options.add('--verbose'); |
+ } |
+ if (enableExperimentalMirrors) { |
+ options.add('--enable-experimental-mirrors'); |
+ } |
+ var compiler = compilerFor(sourceFiles, diagnosticHandler: collector, |
+ packageRoot: Uri.parse('memory:/pkg/'), |
+ options: options); |
+ return compiler.run(Uri.parse('memory:/main.dart')).then((_) { |
+ Expect.equals(0, collector.errors.length, 'Errors: ${collector.errors}'); |
+ if (enableExperimentalMirrors) { |
+ Expect.equals(0, collector.warnings.length, |
+ 'Warnings: ${collector.errors}'); |
+ } else { |
+ Expect.equals(1, collector.warnings.length, |
+ 'Warnings: ${collector.errors}'); |
+ Expect.equals( |
+ MessageKind.IMPORT_EXPERIMENTAL_MIRRORS.message( |
+ {'importChain': expectedPaths.join( |
+ MessageKind.IMPORT_EXPERIMENTAL_MIRRORS_PADDING)}).toString(), |
+ collector.warnings.first.message); |
+ } |
+ }); |
+} |
+ |
+Future checkPaths(Map sourceData) { |
+ Map sourceFiles = sourceData; |
+ var expectedPaths = sourceData['paths']; |
+ var expectedVerbosePaths = sourceData['verbosePaths']; |
+ if (expectedVerbosePaths == null) { |
+ expectedVerbosePaths = expectedPaths; |
+ } |
+ return test(sourceFiles, expectedPaths: expectedPaths).then((_) { |
+ return test( |
+ sourceFiles, expectedPaths: expectedVerbosePaths, verbose: true); |
+ }).then((_) { |
+ return test(sourceFiles, enableExperimentalMirrors: true); |
+ }); |
+} |
+ |
+void main() { |
+ asyncTest(() => Future.forEach([ |
+ DIRECT_IMPORT, |
+ INDIRECT_IMPORT1, |
+ INDIRECT_IMPORT2, |
+ INDIRECT_PACKAGE_IMPORT1, |
+ INDIRECT_PACKAGE_IMPORT2, |
+ INDIRECT_PACKAGE_IMPORT3, |
+ INDIRECT_PACKAGE_IMPORT4, |
+ DUAL_DIRECT_IMPORT, |
+ DUAL_INDIRECT_IMPORT1, |
+ DUAL_INDIRECT_IMPORT2, |
+ DUAL_INDIRECT_IMPORT3, |
+ DUAL_INDIRECT_PACKAGE_IMPORT1, |
+ DIRECT_EXPORT, |
+ INDIRECT_EXPORT1, |
+ INDIRECT_EXPORT2, |
+ INDIRECT_PACKAGE_EXPORT1, |
+ INDIRECT_PACKAGE_EXPORT2], |
+ (map) => checkPaths(map) |
+ )); |
+} |