| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 analyzer.test.src.task.options_test; | 5 library analyzer.test.src.task.options_test; |
| 6 | 6 |
| 7 import 'package:analyzer/analyzer.dart'; | 7 import 'package:analyzer/analyzer.dart'; |
| 8 import 'package:analyzer/source/analysis_options_provider.dart'; | 8 import 'package:analyzer/source/analysis_options_provider.dart'; |
| 9 import 'package:analyzer/source/error_processor.dart'; |
| 9 import 'package:analyzer/src/generated/engine.dart'; | 10 import 'package:analyzer/src/generated/engine.dart'; |
| 10 import 'package:analyzer/src/generated/source.dart'; | 11 import 'package:analyzer/src/generated/source.dart'; |
| 11 import 'package:analyzer/src/task/options.dart'; | 12 import 'package:analyzer/src/task/options.dart'; |
| 12 import 'package:analyzer/task/general.dart'; | 13 import 'package:analyzer/task/general.dart'; |
| 13 import 'package:analyzer/task/model.dart'; | 14 import 'package:analyzer/task/model.dart'; |
| 14 import 'package:unittest/unittest.dart'; | 15 import 'package:unittest/unittest.dart'; |
| 15 import 'package:yaml/yaml.dart'; | 16 import 'package:yaml/yaml.dart'; |
| 16 | 17 |
| 17 import '../../generated/test_support.dart'; | 18 import '../../generated/test_support.dart'; |
| 18 import '../../reflective_tests.dart'; | 19 import '../../reflective_tests.dart'; |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 61 | 62 |
| 62 test_configure_enableSuperMixins() { | 63 test_configure_enableSuperMixins() { |
| 63 configureContext(''' | 64 configureContext(''' |
| 64 analyzer: | 65 analyzer: |
| 65 language: | 66 language: |
| 66 enableSuperMixins: true | 67 enableSuperMixins: true |
| 67 '''); | 68 '''); |
| 68 expect(analysisOptions.enableSuperMixins, true); | 69 expect(analysisOptions.enableSuperMixins, true); |
| 69 } | 70 } |
| 70 | 71 |
| 71 test_configure_error_filters() { | 72 test_configure_error_processors() { |
| 72 configureContext(''' | 73 configureContext(''' |
| 73 analyzer: | 74 analyzer: |
| 74 errors: | 75 errors: |
| 75 invalid_assignment: ignore | 76 invalid_assignment: ignore |
| 76 unused_local_variable: ignore | 77 unused_local_variable: error |
| 77 '''); | 78 '''); |
| 78 | 79 |
| 79 List<ErrorFilter> filters = | 80 List<ErrorProcessor> processors = |
| 80 context.getConfigurationData(CONFIGURED_ERROR_FILTERS); | 81 context.getConfigurationData(CONFIGURED_ERROR_PROCESSORS); |
| 81 expect(filters, hasLength(2)); | 82 expect(processors, hasLength(2)); |
| 82 | 83 |
| 83 var unused_error = new AnalysisError( | 84 var unused_local = new AnalysisError( |
| 84 new TestSource(), 0, 1, HintCode.UNUSED_LOCAL_VARIABLE, [ | 85 new TestSource(), 0, 1, HintCode.UNUSED_LOCAL_VARIABLE, [ |
| 85 ['x'] | 86 ['x'] |
| 86 ]); | 87 ]); |
| 87 var invalid_assignment_error = | 88 var invalid_assignment = |
| 88 new AnalysisError(new TestSource(), 0, 1, HintCode.INVALID_ASSIGNMENT, [ | 89 new AnalysisError(new TestSource(), 0, 1, HintCode.INVALID_ASSIGNMENT, [ |
| 89 ['x'], | 90 ['x'], |
| 90 ['y'] | 91 ['y'] |
| 91 ]); | 92 ]); |
| 92 | 93 |
| 93 expect(filters.any((filter) => filter(unused_error)), isTrue); | 94 // ignore |
| 94 expect(filters.any((filter) => filter(invalid_assignment_error)), isTrue); | 95 var invalidAssignment = |
| 96 processors.firstWhere((p) => p.appliesTo(invalid_assignment)); |
| 97 expect(invalidAssignment.severity, isNull); |
| 98 |
| 99 // error |
| 100 var unusedLocal = processors.firstWhere((p) => p.appliesTo(unused_local)); |
| 101 expect(unusedLocal.severity, ErrorSeverity.ERROR); |
| 95 } | 102 } |
| 96 | 103 |
| 97 test_configure_strong_mode() { | 104 test_configure_strong_mode() { |
| 98 configureContext(''' | 105 configureContext(''' |
| 99 analyzer: | 106 analyzer: |
| 100 strong-mode: true | 107 strong-mode: true |
| 101 '''); | 108 '''); |
| 102 expect(analysisOptions.strongMode, true); | 109 expect(analysisOptions.strongMode, true); |
| 103 } | 110 } |
| 104 | 111 |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 [AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE]); | 357 [AnalysisOptionsWarningCode.UNSUPPORTED_OPTION_WITH_LEGAL_VALUE]); |
| 351 } | 358 } |
| 352 | 359 |
| 353 void validate(String source, List<AnalysisOptionsErrorCode> expected) { | 360 void validate(String source, List<AnalysisOptionsErrorCode> expected) { |
| 354 var options = optionsProvider.getOptionsFromString(source); | 361 var options = optionsProvider.getOptionsFromString(source); |
| 355 var errors = validator.validate(options); | 362 var errors = validator.validate(options); |
| 356 expect(errors.map((AnalysisError e) => e.errorCode), | 363 expect(errors.map((AnalysisError e) => e.errorCode), |
| 357 unorderedEquals(expected)); | 364 unorderedEquals(expected)); |
| 358 } | 365 } |
| 359 } | 366 } |
| OLD | NEW |