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

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

Issue 1437703003: Improves options validation type safety (#24885). (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 1 month 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/src/task/options.dart ('k') | pkg/analyzer/test/src/task/options_test.dart » ('j') | 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 36b30bca07d437ca69bd2bbf9979abf326fa65be..92b8cfc25e4ab61d28f71c5c2a17b8c663c913b2 100644
--- a/pkg/analyzer/test/source/analysis_options_provider_test.dart
+++ b/pkg/analyzer/test/source/analysis_options_provider_test.dart
@@ -78,21 +78,21 @@ linter:
var optionsProvider = new AnalysisOptionsProvider();
Map<String, YamlNode> options =
optionsProvider.getOptions(resourceProvider.getFolder('/'));
- expect(options.length, equals(1));
+ expect(options, hasLength(1));
expect(options['analyzer'], isNotNull);
YamlMap analyzer = options['analyzer'];
- expect(analyzer.length, equals(1));
+ expect(analyzer, hasLength(1));
expect(analyzer['ignore'], isNotNull);
YamlList ignore = analyzer['ignore'];
- expect(ignore.length, equals(2));
- expect(ignore[0], equals('ignoreme.dart'));
- expect(ignore[1], equals('sdk_ext/**'));
+ expect(ignore, hasLength(2));
+ expect(ignore[0], 'ignoreme.dart');
+ expect(ignore[1], 'sdk_ext/**');
});
test('test_doesnotexist', () {
var optionsProvider = new AnalysisOptionsProvider();
Map<String, YamlNode> options =
optionsProvider.getOptions(resourceProvider.getFolder('/empty'));
- expect(options.length, equals(0));
+ expect(options, isEmpty);
});
});
group('AnalysisOptionsProvider', () {
@@ -130,23 +130,29 @@ linter:
});
});
group('AnalysisOptionsProvider', () {
- test('test_bad_yaml', () {
+ test('test_bad_yaml (1)', () {
var src = '''
- analyzer:
- exclude:
- - test/data/*
- error:
- invalid_assignment: ignore
- unused_local_variable: # <=== bang
-linter:
- rules:
- - camel_case_types
+ analyzer: # <= bang
+strong-mode: true
''';
var optionsProvider = new AnalysisOptionsProvider();
expect(() => optionsProvider.getOptionsFromString(src),
throwsA(new isInstanceOf<OptionsFormatException>()));
});
+
+ test('test_bad_yaml (2)', () {
+ var src = '''
+analyzer:
+ strong-mode:true # missing space (sdk/issues/24885)
+''';
+
+ var optionsProvider = new AnalysisOptionsProvider();
+ // Should not throw an exception.
+ var options = optionsProvider.getOptionsFromString(src);
+ // Should return a non-null options list.
+ expect(options, isNotNull);
+ });
});
}
« no previous file with comments | « pkg/analyzer/lib/src/task/options.dart ('k') | pkg/analyzer/test/src/task/options_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698