bulk fix for prefer_contains

Change-Id: Ifb45c1d9dbb19ca7ac6ba20ce9da1b7712827d76
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
This commit is contained in:
pq
2020-07-28 18:24:26 +00:00
committed by Phil Quitslund
parent d983751b77
commit 03e4737f31
3 changed files with 45 additions and 0 deletions
@@ -10,6 +10,7 @@ import 'package:analysis_server/src/services/correction/change_workspace.dart';
import 'package:analysis_server/src/services/correction/dart/abstract_producer.dart';
import 'package:analysis_server/src/services/correction/dart/add_override.dart';
import 'package:analysis_server/src/services/correction/dart/convert_documentation_into_line.dart';
import 'package:analysis_server/src/services/correction/dart/convert_to_contains.dart';
import 'package:analysis_server/src/services/correction/dart/remove_const.dart';
import 'package:analysis_server/src/services/correction/dart/remove_initializer.dart';
import 'package:analysis_server/src/services/correction/dart/remove_unnecessary_new.dart';
@@ -33,6 +34,7 @@ class BulkFixProcessor {
LintNames.avoid_init_to_null: RemoveInitializer.newInstance,
LintNames.avoid_single_cascade_in_expression_statements:
ReplaceCascadeWithDot.newInstance,
LintNames.prefer_contains: ConvertToContains.newInstance,
LintNames.prefer_equal_for_default_values:
ReplaceColonWithEquals.newInstance,
LintNames.slash_for_doc_comments: ConvertDocumentationIntoLine.newInstance,
@@ -0,0 +1,41 @@
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
import 'package:analysis_server/src/services/linter/lint_names.dart';
import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'bulk_fix_processor.dart';
void main() {
defineReflectiveSuite(() {
defineReflectiveTests(ConvertToContainsTest);
});
}
@reflectiveTest
class ConvertToContainsTest extends BulkFixProcessorTest {
@override
String get lintCode => LintNames.prefer_contains;
Future<void> test_singleFile() async {
await resolveTestUnit('''
bool f(List<int> list, int value) {
return -1 != list.indexOf(value);
}
bool f2(List<int> list, int value) {
return 0 > list.indexOf(value);
}
''');
await assertHasFix('''
bool f(List<int> list, int value) {
return list.contains(value);
}
bool f2(List<int> list, int value) {
return !list.contains(value);
}
''');
}
}
@@ -7,6 +7,7 @@ import 'package:test_reflective_loader/test_reflective_loader.dart';
import 'add_override_test.dart' as add_override;
import 'convert_documentation_into_line_test.dart'
as convert_documentation_into_line;
import 'convert_to_contains_test.dart' as convert_to_contains;
import 'remove_initializer_test.dart' as remove_initializer;
import 'remove_unnecessary_const_test.dart' as remove_unnecessary_const;
import 'remove_unnecessary_new_test.dart' as remove_unnecessary_new;
@@ -16,6 +17,7 @@ void main() {
defineReflectiveSuite(() {
add_override.main();
convert_documentation_into_line.main();
convert_to_contains.main();
remove_initializer.main();
remove_unnecessary_const.main();
remove_unnecessary_new.main();