Skip to content

Commit 159c6da

Browse files
srawlinscommit-bot@chromium.org
authored andcommitted
Add test for a @required field formal
Related to #37266, but doesn't address it. Change-Id: I51114c2b67dcd6f62b5b237998eafab49d2fc369 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127543 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com> Commit-Queue: Samuel Rawlins <srawlins@google.com>
1 parent bd8da47 commit 159c6da

File tree

1 file changed

+22
-12
lines changed

1 file changed

+22
-12
lines changed

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

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,12 @@ main() {
1919

2020
@reflectiveTest
2121
class MissingRequiredParamTest extends DriverResolutionTest with PackageMixin {
22-
test_constructor_argumentGiven() async {
22+
setUp() {
23+
super.setUp();
2324
addMetaPackage();
25+
}
26+
27+
test_constructor_argumentGiven() async {
2428
await assertNoErrorsInCode(r'''
2529
import 'package:meta/meta.dart';
2630
@@ -35,7 +39,6 @@ main() {
3539
}
3640

3741
test_constructor_hasReason() async {
38-
addMetaPackage();
3942
await assertErrorsInCode(r'''
4043
import 'package:meta/meta.dart';
4144
class C {
@@ -49,8 +52,24 @@ main() {
4952
]);
5053
}
5154

55+
test_constructor_fieldFormalParameter() async {
56+
await assertErrorsInCode(r'''
57+
import 'package:meta/meta.dart';
58+
59+
class C {
60+
final int a;
61+
C({@required this.a});
62+
}
63+
64+
main() {
65+
new C();
66+
}
67+
''', [
68+
error(HintCode.MISSING_REQUIRED_PARAM, 102, 1),
69+
]);
70+
}
71+
5272
test_constructor_noReason() async {
53-
addMetaPackage();
5473
await assertErrorsInCode(r'''
5574
import 'package:meta/meta.dart';
5675
@@ -67,7 +86,6 @@ main() {
6786
}
6887

6988
test_constructor_noReason_generic() async {
70-
addMetaPackage();
7189
await assertErrorsInCode(r'''
7290
import 'package:meta/meta.dart';
7391
@@ -84,7 +102,6 @@ main() {
84102
}
85103

86104
test_constructor_nullReason() async {
87-
addMetaPackage();
88105
await assertErrorsInCode(r'''
89106
import 'package:meta/meta.dart';
90107
@@ -101,7 +118,6 @@ main() {
101118
}
102119

103120
test_constructor_redirectingConstructorCall() async {
104-
addMetaPackage();
105121
await assertErrorsInCode(r'''
106122
import 'package:meta/meta.dart';
107123
class C {
@@ -114,7 +130,6 @@ class C {
114130
}
115131

116132
test_constructor_superCall() async {
117-
addMetaPackage();
118133
await assertErrorsInCode(r'''
119134
import 'package:meta/meta.dart';
120135
@@ -131,7 +146,6 @@ class D extends C {
131146
}
132147

133148
test_function() async {
134-
addMetaPackage();
135149
await assertErrorsInCode(r'''
136150
import 'package:meta/meta.dart';
137151
@@ -146,7 +160,6 @@ main() {
146160
}
147161

148162
test_method() async {
149-
addMetaPackage();
150163
await assertErrorsInCode(r'''
151164
import 'package:meta/meta.dart';
152165
class A {
@@ -161,7 +174,6 @@ f() {
161174
}
162175

163176
test_method_generic() async {
164-
addMetaPackage();
165177
await assertErrorsInCode(r'''
166178
import 'package:meta/meta.dart';
167179
@@ -177,7 +189,6 @@ f() {
177189
}
178190

179191
test_method_inOtherLib() async {
180-
addMetaPackage();
181192
newFile('/a_lib.dart', content: r'''
182193
library a_lib;
183194
import 'package:meta/meta.dart';
@@ -204,7 +215,6 @@ not know its elements, and does not know that there was a parameter
204215
marked `@required`. There is exactly one such typedef in Flutter.
205216
''')
206217
test_typedef_function() async {
207-
addMetaPackage();
208218
await assertErrorsInCode(r'''
209219
import 'package:meta/meta.dart';
210220

0 commit comments

Comments
 (0)