migrate `unnecessary_null_in_if_null_operators` nnbd experiment tests
Fixes: https://github.com/dart-lang/linter/issues/4730
Change-Id: I8128cf93a733f0b002af458961f3626f0de1ab96
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/323229
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
diff --git a/pkg/linter/test/rules/unnecessary_null_in_if_null_operators_test.dart b/pkg/linter/test/rules/unnecessary_null_in_if_null_operators_test.dart
index 085eb25..df8cbb9 100644
--- a/pkg/linter/test/rules/unnecessary_null_in_if_null_operators_test.dart
+++ b/pkg/linter/test/rules/unnecessary_null_in_if_null_operators_test.dart
@@ -9,6 +9,7 @@
main() {
defineReflectiveSuite(() {
defineReflectiveTests(UnnecessaryNullInIfNullOperatorsLanguage29Test);
+ defineReflectiveTests(UnnecessaryNullInIfNullOperatorsTest);
});
}
@@ -70,3 +71,57 @@
]);
}
}
+
+@reflectiveTest
+class UnnecessaryNullInIfNullOperatorsTest extends LintRuleTest {
+ @override
+ String get lintRule => 'unnecessary_null_in_if_null_operators';
+
+ test_methodBody() async {
+ await assertDiagnostics(r'''
+class C {
+ m() {
+ var x = 1 ?? null;
+ var y = null ?? 1;
+ }
+}
+''', [
+ lint(30, 9),
+ error(StaticWarningCode.DEAD_NULL_AWARE_EXPRESSION, 35, 4),
+ lint(53, 9),
+ ]);
+ }
+
+ test_methodBody_noNull() async {
+ await assertDiagnostics(r'''
+class C {
+ m() {
+ var x = 1 ?? 1;
+ }
+}
+''', [
+ // No lint.
+ error(StaticWarningCode.DEAD_NULL_AWARE_EXPRESSION, 35, 1),
+ ]);
+ }
+
+ test_topLevel() async {
+ await assertDiagnostics(r'''
+var x = 1 ?? null;
+var y = null ?? 1;
+''', [
+ lint(8, 9),
+ error(StaticWarningCode.DEAD_NULL_AWARE_EXPRESSION, 13, 4),
+ lint(27, 9),
+ ]);
+ }
+
+ test_topLevel_noNull() async {
+ await assertDiagnostics(r'''
+var x = 1 ?? 1;
+''', [
+ // No lint.
+ error(StaticWarningCode.DEAD_NULL_AWARE_EXPRESSION, 13, 1),
+ ]);
+ }
+}
diff --git a/pkg/linter/test_data/rules/experiments/nnbd/rules/unnecessary_null_in_if_null_operators.dart b/pkg/linter/test_data/rules/experiments/nnbd/rules/unnecessary_null_in_if_null_operators.dart
deleted file mode 100644
index 99b3605..0000000
--- a/pkg/linter/test_data/rules/experiments/nnbd/rules/unnecessary_null_in_if_null_operators.dart
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2017, 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.
-
-// test w/ `dart test -N unnecessary_null_in_if_null_operators`
-
-var x = 1 ?? null; //LINT
-var y = 1 ?? 1; //OK
-var z = null ?? 1; //LINT
-
-class X {
- m1() {
- var x = 1 ?? null; //LINT
- var y = 1 ?? 1; //OK
- var z = null ?? 1; //LINT
- }
-}