Index: pkg/analysis_server/test/analysis/notification_analysis_options_test.dart |
diff --git a/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart b/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart |
index 0b32105f2348d13a8079809e24820813daf7ea48..f2835185c0f0229ab2354d6ff4a2fb66d609f99e 100644 |
--- a/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart |
+++ b/pkg/analysis_server/test/analysis/notification_analysis_options_test.dart |
@@ -8,6 +8,7 @@ import 'package:analysis_server/plugin/protocol/protocol.dart'; |
import 'package:analysis_server/src/constants.dart'; |
import 'package:analysis_server/src/domain_analysis.dart'; |
import 'package:analyzer/src/generated/engine.dart'; |
+import 'package:analyzer/src/services/lint.dart'; |
import 'package:test_reflective_loader/test_reflective_loader.dart'; |
import 'package:unittest/unittest.dart'; |
@@ -85,6 +86,33 @@ analyzer: |
super.tearDown(); |
} |
+ test_lint_options_changes() async { |
+ addOptionsFile(''' |
+linter: |
+ rules: |
+ - camel_case_types |
+ - constant_identifier_names |
+'''); |
+ |
+ addTestFile(testSource); |
+ setAnalysisRoot(); |
+ |
+ await waitForTasksFinished(); |
+ |
+ verifyLintsEnabled(['camel_case_types', 'constant_identifier_names']); |
+ |
+ addOptionsFile(''' |
+linter: |
+ rules: |
+ - camel_case_types |
+'''); |
+ |
+ await pumpEventQueue(); |
+ await waitForTasksFinished(); |
+ |
+ verifyLintsEnabled(['camel_case_types']); |
+ } |
+ |
test_options_file_added() async { |
addTestFile(testSource); |
setAnalysisRoot(); |
@@ -161,6 +189,12 @@ analyzer: |
verifyStrongMode(enabled: false); |
} |
+ void verifyLintsEnabled(List<String> lints) { |
+ expect(testContext.analysisOptions.lint, true); |
+ var rules = getLints(testContext).map((rule) => rule.name); |
+ expect(rules, unorderedEquals(lints)); |
+ } |
+ |
verifyStrongMode({bool enabled}) { |
// Verify strong-mode enabled. |
expect(testContext.analysisOptions.strongMode, enabled); |