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 test.source.analysis_options_provider; | 5 library test.source.analysis_options_provider; |
6 | 6 |
7 import 'package:analyzer/file_system/memory_file_system.dart'; | 7 import 'package:analyzer/file_system/memory_file_system.dart'; |
8 import 'package:analyzer/source/analysis_options_provider.dart'; | 8 import 'package:analyzer/source/analysis_options_provider.dart'; |
9 import 'package:unittest/unittest.dart'; | 9 import 'package:unittest/unittest.dart'; |
10 import 'package:yaml/yaml.dart'; | 10 import 'package:yaml/yaml.dart'; |
11 | 11 |
12 import '../utils.dart'; | 12 import '../utils.dart'; |
13 | 13 |
14 main() { | 14 main() { |
15 initializeTestEnvironment(); | 15 initializeTestEnvironment(); |
| 16 |
| 17 group('AnalysisOptionsProvider', () { |
| 18 void expectMergesTo(String defaults, String overrides, String expected) { |
| 19 var optionsProvider = new AnalysisOptionsProvider(); |
| 20 var defaultOptions = optionsProvider.getOptionsFromString(defaults); |
| 21 var overrideOptions = optionsProvider.getOptionsFromString(overrides); |
| 22 var merged = optionsProvider.merge(defaultOptions, overrideOptions); |
| 23 expect(merged, optionsProvider.getOptionsFromString(expected)); |
| 24 } |
| 25 |
| 26 group('merging', () { |
| 27 test('integration', () { |
| 28 expectMergesTo( |
| 29 ''' |
| 30 analyzer: |
| 31 plugins: |
| 32 - p1 |
| 33 - p2 |
| 34 errors: |
| 35 unused_local_variable : error |
| 36 linter: |
| 37 rules: |
| 38 - camel_case_types |
| 39 - one_member_abstracts |
| 40 ''', |
| 41 ''' |
| 42 analyzer: |
| 43 plugins: |
| 44 - p3 |
| 45 errors: |
| 46 unused_local_variable : ignore # overrides error |
| 47 linter: |
| 48 rules: |
| 49 one_member_abstracts: false # promotes and disables |
| 50 always_specify_return_types: true |
| 51 ''', |
| 52 ''' |
| 53 analyzer: |
| 54 plugins: |
| 55 - p1 |
| 56 - p2 |
| 57 - p3 |
| 58 errors: |
| 59 unused_local_variable : ignore |
| 60 linter: |
| 61 rules: |
| 62 camel_case_types: true |
| 63 one_member_abstracts: false |
| 64 always_specify_return_types: true |
| 65 '''); |
| 66 }); |
| 67 }); |
| 68 }); |
| 69 |
16 group('AnalysisOptionsProvider', () { | 70 group('AnalysisOptionsProvider', () { |
17 setUp(() { | 71 setUp(() { |
18 buildResourceProvider(); | 72 buildResourceProvider(); |
19 }); | 73 }); |
20 tearDown(() { | 74 tearDown(() { |
21 clearResourceProvider(); | 75 clearResourceProvider(); |
22 }); | 76 }); |
23 test('test_simple', () { | 77 test('test_simple', () { |
24 var optionsProvider = new AnalysisOptionsProvider(); | 78 var optionsProvider = new AnalysisOptionsProvider(); |
25 Map<String, YamlNode> options = | 79 Map<String, YamlNode> options = |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 } | 173 } |
120 } | 174 } |
121 | 175 |
122 clearResourceProvider() { | 176 clearResourceProvider() { |
123 resourceProvider = null; | 177 resourceProvider = null; |
124 } | 178 } |
125 | 179 |
126 emptyResourceProvider() { | 180 emptyResourceProvider() { |
127 resourceProvider = new MemoryResourceProvider(); | 181 resourceProvider = new MemoryResourceProvider(); |
128 } | 182 } |
OLD | NEW |