Chromium Code Reviews| Index: pkg/analyzer/test/source/analysis_options_provider_test.dart |
| diff --git a/pkg/analyzer/test/source/analysis_options_provider_test.dart b/pkg/analyzer/test/source/analysis_options_provider_test.dart |
| index 5ea408aa4ecdb6a860adfe371be11195882cfbb7..0eb3a9ad9c7449eb1f47bd185b9905bf5eb3fb34 100644 |
| --- a/pkg/analyzer/test/source/analysis_options_provider_test.dart |
| +++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart |
| @@ -10,6 +10,7 @@ import 'package:analyzer/file_system/file_system.dart'; |
| import 'package:analyzer/file_system/memory_file_system.dart'; |
| import 'package:analyzer/source/analysis_options_provider.dart'; |
| import 'package:analyzer/src/generated/engine.dart'; |
| +import 'package:analyzer/src/generated/source.dart'; |
| import 'package:test/test.dart'; |
| import 'package:test_reflective_loader/test_reflective_loader.dart'; |
| import 'package:yaml/yaml.dart'; |
| @@ -115,7 +116,7 @@ abstract class AnalysisOptionsProviderTest { |
| TestPathTranslator pathTranslator; |
| ResourceProvider resourceProvider; |
| - AnalysisOptionsProvider provider = new AnalysisOptionsProvider(); |
| + AnalysisOptionsProvider provider; |
| String get optionsFileName; |
| @@ -123,6 +124,9 @@ abstract class AnalysisOptionsProviderTest { |
| var rawProvider = new MemoryResourceProvider(); |
| resourceProvider = new TestResourceProvider(rawProvider); |
| pathTranslator = new TestPathTranslator(rawProvider); |
| + provider = new AnalysisOptionsProvider(new SourceFactory([ |
| + new ResourceUriResolver(rawProvider), |
| + ])); |
| } |
| void test_getOptions_crawlUp_hasInFolder() { |
| @@ -188,6 +192,44 @@ analyzer: |
| expect(options, isEmpty); |
| } |
| + void test_getOptions_include() { |
|
Brian Wilkerson
2016/11/11 19:37:47
Should we have a test for package: URIs, or is it
|
| + pathTranslator.newFile( |
| + '/foo.include', |
| + r''' |
| +analyzer: |
| + ignore: |
| + - ignoreme.dart |
| + - 'sdk_ext/**' |
| +'''); |
| + pathTranslator.newFile( |
| + '/$optionsFileName', |
| + r''' |
| +include: /foo.include |
| +'''); |
| + Map<String, YamlNode> options = _getOptions('/'); |
| + expect(options, hasLength(1)); |
| + { |
| + YamlMap analyzer = options['analyzer']; |
| + expect(analyzer, hasLength(1)); |
| + { |
| + YamlList ignore = analyzer['ignore']; |
| + expect(ignore, hasLength(2)); |
| + expect(ignore[0], 'ignoreme.dart'); |
| + expect(ignore[1], 'sdk_ext/**'); |
| + } |
| + } |
| + } |
| + |
| + void test_getOptions_include_missing() { |
| + pathTranslator.newFile( |
| + '/$optionsFileName', |
| + r''' |
| +include: /foo.include |
| +'''); |
| + Map<String, YamlNode> options = _getOptions('/'); |
| + expect(options, hasLength(0)); |
| + } |
| + |
| void test_getOptions_invalid() { |
| pathTranslator.newFile('/$optionsFileName', r''':'''); |
| expect(() { |