Chromium Code Reviews| Index: tests/compiler/dart2js/show_package_warnings_test.dart |
| diff --git a/tests/compiler/dart2js/show_package_warnings_test.dart b/tests/compiler/dart2js/show_package_warnings_test.dart |
| index 6a1aa3f1fc77c5cf5b18650ef7ad654dad7b6f1d..cc05018def2e14930262e90098d64267023568b7 100644 |
| --- a/tests/compiler/dart2js/show_package_warnings_test.dart |
| +++ b/tests/compiler/dart2js/show_package_warnings_test.dart |
| @@ -20,47 +20,81 @@ m(Object o) { |
| const SOURCE = const { |
| 'main.dart': """ |
| -import 'package:pkg_error1/pkg_error1.dart'; |
| -import 'package:pkg_error2/pkg_error2.dart'; |
| -import 'package:pkg_noerror/pkg_noerror.dart'; |
| -import 'error.dart'; |
| +import 'package:pkg_error1/pkg_error1.dart' as pkg1; |
| +import 'package:pkg_error2/pkg_error2.dart' as pkg2; |
| +import 'package:pkg_noerror/pkg_noerror.dart' as pkg3; |
| +import 'error.dart' as error; |
| + |
| +main() { |
| + pkg1.m(null); |
| + pkg2.m(null); |
| + pkg3.m(null); |
| + error.m(null); |
| +} |
| """, |
| 'error.dart': ERROR_CODE, |
| 'pkg/pkg_error1/pkg_error1.dart': """ |
| -import 'package:pkg_error2/pkg_error2.dart'; |
| -import 'package:pkg_noerror/pkg_noerror.dart'; |
| -$ERROR_CODE""", |
| +import 'package:pkg_error2/pkg_error2.dart' as pkg2; |
| +import 'package:pkg_noerror/pkg_noerror.dart' as pkg3; |
| +$ERROR_CODE |
| + |
| +main() { |
| + m(null); |
| + pkg2.m(null); |
| + pkg3.m(null); |
| +} |
| +""", |
| 'pkg/pkg_error2/pkg_error2.dart': """ |
| -import 'package:pkg_error1/pkg_error1.dart'; |
| -import 'package:pkg_noerror/pkg_noerror.dart'; |
| -$ERROR_CODE""", |
| +import 'package:pkg_error1/pkg_error1.dart' as pkg1; |
| +import 'package:pkg_noerror/pkg_noerror.dart' as pkg3; |
| +$ERROR_CODE |
| + |
| +main() { |
| + pkg1.m(null); |
| + m(null); |
| + pkg3.m(null); |
| +} |
| +""", |
| 'pkg/pkg_noerror/pkg_noerror.dart': """ |
| -import 'package:pkg_error1/pkg_error1.dart'; |
| -import 'package:pkg_error2/pkg_error2.dart'; |
| +import 'package:pkg_error1/pkg_error1.dart' as pkg1; |
| +import 'package:pkg_error2/pkg_error2.dart' as pkg2; |
| +m(o) {} |
| + |
| +main() { |
| + pkg1.m(null); |
| + m(null); |
| + pkg2.m(null); |
| +} |
| """}; |
| Future test(Uri entryPoint, |
| - {bool showPackageWarnings: false, |
| + {List<String> showPackageWarnings: null, |
| int warnings: 0, |
| int hints: 0, |
| int infos: 0}) async { |
| - var options = [Flags.analyzeOnly, Flags.analyzeAll]; |
|
Johnni Winther
2015/12/10 14:59:04
Removed analyzeAll and insert calls of error code
|
| - if (showPackageWarnings) { |
| - options.add(Flags.showPackageWarnings); |
| + var options = [Flags.analyzeOnly]; |
| + if (showPackageWarnings != null) { |
| + if (showPackageWarnings.isEmpty) { |
| + options.add(Flags.showPackageWarnings); |
| + } else { |
| + options.add( |
| + '${Flags.showPackageWarnings}=${showPackageWarnings.join(',')}'); |
| + } |
| } |
| var collector = new DiagnosticCollector(); |
| + print('=================================================================='); |
| + print('test: $entryPoint showPackageWarnings=$showPackageWarnings'); |
| + print('------------------------------------------------------------------'); |
| await runCompiler( |
| entryPoint: entryPoint, |
| memorySourceFiles: SOURCE, |
| options: options, |
| packageRoot: Uri.parse('memory:pkg/'), |
| diagnosticHandler: collector); |
| - print('=================================================================='); |
| - print('test: $entryPoint showPackageWarnings=$showPackageWarnings'); |
| Expect.equals(0, collector.errors.length, |
| 'Unexpected errors: ${collector.errors}'); |
| Expect.equals(warnings, collector.warnings.length, |
| @@ -72,7 +106,6 @@ Future test(Uri entryPoint, |
| Expect.equals(infos, collector.infos.length, |
| 'Unexpected infos: ${collector.infos}'); |
| checkUriSchemes(collector.infos); |
| - print('=================================================================='); |
| } |
| void checkUriSchemes(Iterable<CollectedMessage> messages) { |
| @@ -88,32 +121,52 @@ void main() { |
| asyncTest(() async { |
| await test( |
| Uri.parse('memory:main.dart'), |
| - showPackageWarnings: true, |
| + showPackageWarnings: [], |
| + // From error.dart, package:pkg_error1 and package:pkg_error2: |
| + warnings: 3, hints: 3, infos: 3); |
| + await test( |
| + Uri.parse('memory:main.dart'), |
| + showPackageWarnings: ['pkg_error1'], |
| + // From error.dart and package:pkg_error1: |
| + warnings: 2, hints: 2 + 1 /* from summary */, infos: 2); |
| + await test( |
| + Uri.parse('memory:main.dart'), |
| + showPackageWarnings: ['pkg_error1', 'pkg_error2'], |
| // From error.dart, package:pkg_error1 and package:pkg_error2: |
| warnings: 3, hints: 3, infos: 3); |
| await test( |
| Uri.parse('memory:main.dart'), |
| - showPackageWarnings: false, |
| + showPackageWarnings: [], |
| + // From error.dart, package:pkg_error1 and package:pkg_error2: |
| + warnings: 3, hints: 3, infos: 3); |
| + await test( |
| + Uri.parse('memory:main.dart'), |
| + showPackageWarnings: null, |
| // From error.dart only: |
| warnings: 1, hints: 1 + 2 /* from summary */, infos: 1); |
| await test( |
| Uri.parse('package:pkg_error1/pkg_error1.dart'), |
| - showPackageWarnings: true, |
| + showPackageWarnings: [], |
| // From package:pkg_error1 and package:pkg_error2: |
| warnings: 2, hints: 2, infos: 2); |
| await test( |
| Uri.parse('package:pkg_error1/pkg_error1.dart'), |
| - showPackageWarnings: false, |
| + showPackageWarnings: null, |
| // From package:pkg_error1/pkg_error1.dart only: |
| warnings: 1, hints: 1 + 1 /* from summary */, infos: 1); |
| await test( |
| Uri.parse('package:pkg_noerror/pkg_noerror.dart'), |
| - showPackageWarnings: true, |
| + showPackageWarnings: [], |
| // From package:pkg_error1 and package:pkg_error2: |
| warnings: 2, hints: 2, infos: 2); |
| await test( |
| Uri.parse('package:pkg_noerror/pkg_noerror.dart'), |
| - showPackageWarnings: false, |
| + showPackageWarnings: ['pkg_error1'], |
| + // From package:pkg_error1: |
| + warnings: 1, hints: 1 + 1 /* from summary */, infos: 1); |
| + await test( |
| + Uri.parse('package:pkg_noerror/pkg_noerror.dart'), |
| + showPackageWarnings: null, |
| hints: 2 /* from summary */); |
| }); |
| } |