Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1256)

Unified Diff: pkg/analyzer/test/source/analysis_options_provider_test.dart

Issue 1369573003: Fix handling of empty .analysis_options files and test this case (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer/lib/source/analysis_options_provider.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 b20027846e6638a54917d1744cadd142b6711319..80bf2ad72e343dcd17f21f1a59f2a26663abc3c4 100644
--- a/pkg/analyzer/test/source/analysis_options_provider_test.dart
+++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart
@@ -41,15 +41,53 @@ main() {
expect(options.length, equals(0));
});
});
+ group('AnalysisOptionsProvider', () {
+ setUp(() {
+ buildResourceProvider(true);
+ });
+ tearDown(() {
+ clearResourceProvider();
+ });
+ test('test_empty', () {
+ var optionsProvider = new AnalysisOptionsProvider();
+ Map<String, YamlNode> options =
+ optionsProvider.getOptions(resourceProvider.getFolder('/'));
+ });
+ });
+ group('AnalysisOptionsProvider', () {
+ setUp(() {
+ buildResourceProvider(false, true);
+ });
+ tearDown(() {
+ clearResourceProvider();
+ });
+ test('test_invalid', () {
+ var optionsProvider = new AnalysisOptionsProvider();
+ bool exceptionCaught = false;
+ try {
+ Map<String, YamlNode> options =
+ optionsProvider.getOptions(resourceProvider.getFolder('/'));
+ } catch (e, st) {
+ exceptionCaught = true;
+ }
+ expect(exceptionCaught, isTrue);
+ });
+ });
}
MemoryResourceProvider resourceProvider;
-buildResourceProvider() {
+buildResourceProvider([bool emptyAnalysisOptions = false,
+ bool badAnalysisOptions = false]) {
resourceProvider = new MemoryResourceProvider();
resourceProvider.newFolder('/empty');
resourceProvider.newFolder('/tmp');
- resourceProvider.newFile(
+ if (badAnalysisOptions) {
+ resourceProvider.newFile('/.analysis_options', r''':''');
+ } else if (emptyAnalysisOptions) {
+ resourceProvider.newFile('/.analysis_options', r'''''');
+ } else {
+ resourceProvider.newFile(
'/.analysis_options',
r'''
analyzer:
@@ -57,6 +95,7 @@ analyzer:
- ignoreme.dart
- 'sdk_ext/**'
''');
+ }
}
clearResourceProvider() {
« no previous file with comments | « pkg/analyzer/lib/source/analysis_options_provider.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698