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

Unified Diff: pkg/analyzer/test/generated/hint_code_test.dart

Issue 2784473004: Take analysis options into account when computing the severity of a strong mode "error". (Closed)
Patch Set: Add test cases. Created 3 years, 9 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/src/task/strong/checker.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/generated/hint_code_test.dart
diff --git a/pkg/analyzer/test/generated/hint_code_test.dart b/pkg/analyzer/test/generated/hint_code_test.dart
index 41444a0eadc4d079eaac62c13f75532cd6b747df..fd3bf9d14e2c61a9496ebf342bae47d66225d04e 100644
--- a/pkg/analyzer/test/generated/hint_code_test.dart
+++ b/pkg/analyzer/test/generated/hint_code_test.dart
@@ -9,6 +9,7 @@ import 'package:analyzer/src/error/codes.dart';
import 'package:analyzer/src/generated/engine.dart';
import 'package:analyzer/src/generated/parser.dart';
import 'package:analyzer/src/generated/source_io.dart';
+import 'package:analyzer/src/task/options.dart';
import 'package:test/test.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
@@ -2498,6 +2499,61 @@ class C {
verify([source]);
}
+ test_strongMode_downCastCompositeNoHint() async {
+ AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+ options.strongMode = true;
+ options.strongModeHints = false;
+ resetWith(options: options);
+ Source source = addSource(r'''
+main() {
+ List dynamicList = [ ];
+ List<int> list = dynamicList;
+ print(list);
+}''');
+ await computeAnalysisResult(source);
+ assertNoErrors(source);
+ verify([source]);
+ }
+
+ test_strongMode_downCastCompositeHint() async {
+ AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+ options.strongMode = true;
+ options.strongModeHints = true;
+ resetWith(options: options);
+ Source source = addSource(r'''
+main() {
+ List dynamicList = [ ];
+ List<int> list = dynamicList;
+ print(list);
+}''');
+ await computeAnalysisResult(source);
+ assertErrors(source, [StrongModeCode.DOWN_CAST_COMPOSITE]);
+ verify([source]);
+ }
+
+ test_strongMode_downCastCompositeWarn() async {
+ AnalysisOptionsImpl options = new AnalysisOptionsImpl();
+ applyToAnalysisOptions(options, {
+ AnalyzerOptions.analyzer: {
+ AnalyzerOptions.errors: {
+ StrongModeCode.DOWN_CAST_COMPOSITE.name: 'warning'
+ },
+ }
+ });
+ options.strongMode = true;
+ options.strongModeHints = false;
+ resetWith(options: options);
+ Source source = addSource(r'''
+main() {
+ List dynamicList = [ ];
+ List<int> list = dynamicList;
+ print(list);
+}''');
+ await computeAnalysisResult(source);
+ assertErrors(source, [StrongModeCode.DOWN_CAST_COMPOSITE]);
+ verify([source]);
+ }
+
test_typeCheck_type_is_Null() async {
Source source = addSource(r'''
m(i) {
« no previous file with comments | « pkg/analyzer/lib/src/task/strong/checker.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698