Skip to content

Commit b0471a2

Browse files
srawlinscommit-bot@chromium.org
authored andcommitted
Analyzer: rearrange invalid_assignment tests for null safety
I started trying to move checker_tests out from that very old test class into invalid_assignment, and it was overwhelming. I rolled back most of the work and kept this part. Bug: #44666 Change-Id: Ic41b562cf263b4dae271de2da0f2ec5a716d6dfa Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/185491 Reviewed-by: Konstantin Shcheglov <[email protected]> Reviewed-by: Brian Wilkerson <[email protected]> Commit-Queue: Samuel Rawlins <[email protected]>
1 parent dbce7a6 commit b0471a2

File tree

1 file changed

+51
-56
lines changed

1 file changed

+51
-56
lines changed

pkg/analyzer/test/src/diagnostics/invalid_assignment_test.dart

+51-56
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,13 @@ import '../dart/resolution/context_collection_resolution.dart';
1010
main() {
1111
defineReflectiveSuite(() {
1212
defineReflectiveTests(InvalidAssignmentTest);
13-
defineReflectiveTests(InvalidAssignmentNnbdTest);
13+
defineReflectiveTests(InvalidAssignmentWithoutNullSafetyTest);
1414
});
1515
}
1616

1717
@reflectiveTest
18-
class InvalidAssignmentNnbdTest extends InvalidAssignmentTest
19-
with WithNullSafetyMixin {
20-
@override
18+
class InvalidAssignmentTest extends PubPackageResolutionTest
19+
with InvalidAssignmentTestCases {
2120
test_ifNullAssignment() async {
2221
await assertErrorsInCode('''
2322
void f(int i) {
@@ -29,9 +28,7 @@ void f(int i) {
2928
]);
3029
}
3130

32-
@override
3331
test_ifNullAssignment_sameType() async {
34-
// This test is overridden solely to make [j] nullable.
3532
await assertNoErrorsInCode('''
3633
void f(int i) {
3734
int? j;
@@ -40,9 +37,7 @@ void f(int i) {
4037
''');
4138
}
4239

43-
@override
4440
test_ifNullAssignment_superType() async {
45-
// This test is overridden solely to make [n] nullable.
4641
await assertNoErrorsInCode('''
4742
void f(int i) {
4843
num? n;
@@ -75,9 +70,7 @@ void f() {
7570
]);
7671
}
7772

78-
@override
7973
test_typeParameter() async {
80-
// This test is overridden solely to make [value] nullable.
8174
// https://github.com/dart-lang/sdk/issues/14221
8275
await assertErrorsInCode(r'''
8376
class B<T> {
@@ -92,9 +85,7 @@ class B<T> {
9285
}
9386
}
9487

95-
@reflectiveTest
96-
class InvalidAssignmentTest extends PubPackageResolutionTest
97-
with WithoutNullSafetyMixin {
88+
mixin InvalidAssignmentTestCases on PubPackageResolutionTest {
9889
test_assignment_to_dynamic() async {
9990
await assertErrorsInCode(r'''
10091
f() {
@@ -175,35 +166,6 @@ class C {
175166
]);
176167
}
177168

178-
test_ifNullAssignment() async {
179-
await assertErrorsInCode('''
180-
void f(int i) {
181-
double d;
182-
d ??= i;
183-
}
184-
''', [
185-
error(CompileTimeErrorCode.INVALID_ASSIGNMENT, 36, 1),
186-
]);
187-
}
188-
189-
test_ifNullAssignment_sameType() async {
190-
await assertNoErrorsInCode('''
191-
void f(int i) {
192-
int j;
193-
j ??= i;
194-
}
195-
''');
196-
}
197-
198-
test_ifNullAssignment_superType() async {
199-
await assertNoErrorsInCode('''
200-
void f(int i) {
201-
num n;
202-
n ??= i;
203-
}
204-
''');
205-
}
206-
207169
test_implicitlyImplementFunctionViaCall_1() async {
208170
// issue 18341
209171
//
@@ -543,20 +505,6 @@ int x = 'string';
543505
]);
544506
}
545507

546-
test_typeParameter() async {
547-
// https://github.com/dart-lang/sdk/issues/14221
548-
await assertErrorsInCode(r'''
549-
class B<T> {
550-
T value;
551-
void test(num n) {
552-
value = n;
553-
}
554-
}
555-
''', [
556-
error(CompileTimeErrorCode.INVALID_ASSIGNMENT, 57, 1),
557-
]);
558-
}
559-
560508
test_typeParameterRecursion_regress35306() async {
561509
await assertErrorsInCode(r'''
562510
class A {}
@@ -606,3 +554,50 @@ main() {
606554
]);
607555
}
608556
}
557+
558+
@reflectiveTest
559+
class InvalidAssignmentWithoutNullSafetyTest extends PubPackageResolutionTest
560+
with InvalidAssignmentTestCases, WithoutNullSafetyMixin {
561+
test_ifNullAssignment() async {
562+
await assertErrorsInCode('''
563+
void f(int i) {
564+
double d;
565+
d ??= i;
566+
}
567+
''', [
568+
error(CompileTimeErrorCode.INVALID_ASSIGNMENT, 36, 1),
569+
]);
570+
}
571+
572+
test_ifNullAssignment_sameType() async {
573+
await assertNoErrorsInCode('''
574+
void f(int i) {
575+
int j;
576+
j ??= i;
577+
}
578+
''');
579+
}
580+
581+
test_ifNullAssignment_superType() async {
582+
await assertNoErrorsInCode('''
583+
void f(int i) {
584+
num n;
585+
n ??= i;
586+
}
587+
''');
588+
}
589+
590+
test_typeParameter() async {
591+
// https://github.com/dart-lang/sdk/issues/14221
592+
await assertErrorsInCode(r'''
593+
class B<T> {
594+
T value;
595+
void test(num n) {
596+
value = n;
597+
}
598+
}
599+
''', [
600+
error(CompileTimeErrorCode.INVALID_ASSIGNMENT, 57, 1),
601+
]);
602+
}
603+
}

0 commit comments

Comments
 (0)