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
-  }
-}