Skip to content

Commit cece303

Browse files
committed
Check diagnostics in List/Map/SetLiteralTest(s).
We usually check for errors in resolution tests. Here we have more diagnostings than usually, but it still seems right to check and don't hide it. [email protected] Change-Id: I27ca020f2be34d4e5483e2c0f2a216f75ff5bc43 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155542 Reviewed-by: Brian Wilkerson <[email protected]>
1 parent cc519b9 commit cece303

File tree

3 files changed

+134
-132
lines changed

3 files changed

+134
-132
lines changed

pkg/analyzer/test/src/dart/resolution/type_inference/list_literal_test.dart

Lines changed: 45 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,14 @@ List<int> a = ['a'];
2424
}
2525

2626
test_context_noTypeArgs_expression_noConflict() async {
27-
await resolveTestCode('''
27+
await assertNoErrorsInCode('''
2828
List<int> a = [1];
2929
''');
3030
assertType(findNode.listLiteral('['), 'List<int>');
3131
}
3232

3333
test_context_noTypeArgs_noElements() async {
34-
await resolveTestCode('''
34+
await assertNoErrorsInCode('''
3535
List<String> a = [];
3636
''');
3737
assertType(findNode.listLiteral('['), 'List<String>');
@@ -73,14 +73,14 @@ List<String> a = <String>[0];
7373
test_context_typeArgs_expression_conflictingTypeArgs() async {
7474
// Context type and element types both suggest `String`, so this should
7575
// override the explicit type argument.
76-
await resolveTestCode('''
76+
await assertNoErrorsInCode('''
7777
List<String> a = <int>['a'];
7878
''');
7979
assertType(findNode.listLiteral('['), 'List<String>');
8080
}
8181

8282
test_context_typeArgs_expression_noConflict() async {
83-
await resolveTestCode('''
83+
await assertNoErrorsInCode('''
8484
List<String> a = <String>['a'];
8585
''');
8686
assertType(findNode.listLiteral('['), 'List<String>');
@@ -94,28 +94,28 @@ List<String> a = <int>[];
9494
}
9595

9696
test_context_typeArgs_noElements_noConflict() async {
97-
await resolveTestCode('''
97+
await assertNoErrorsInCode('''
9898
List<String> a = <String>[];
9999
''');
100100
assertType(findNode.listLiteral('['), 'List<String>');
101101
}
102102

103103
test_noContext_noTypeArgs_expressions_lubOfInt() async {
104-
await resolveTestCode('''
104+
await assertNoErrorsInCode('''
105105
var a = [1, 2, 3];
106106
''');
107107
assertType(findNode.listLiteral('['), 'List<int>');
108108
}
109109

110110
test_noContext_noTypeArgs_expressions_lubOfNum() async {
111-
await resolveTestCode('''
111+
await assertNoErrorsInCode('''
112112
var a = [1, 2.3, 4];
113113
''');
114114
assertType(findNode.listLiteral('['), 'List<num>');
115115
}
116116

117117
test_noContext_noTypeArgs_expressions_lubOfObject() async {
118-
await resolveTestCode('''
118+
await assertNoErrorsInCode('''
119119
var a = [1, '2', 3];
120120
''');
121121
assertType(findNode.listLiteral('['), 'List<Object>');
@@ -136,116 +136,117 @@ var a = [0, x, 2];
136136
}
137137

138138
test_noContext_noTypeArgs_forEachWithDeclaration() async {
139-
await resolveTestCode('''
140-
List<int> c;
139+
await assertNoErrorsInCode('''
140+
List<int> c = [];
141141
var a = [for (int e in c) e * 2];
142142
''');
143143
assertType(findNode.listLiteral('[for'), 'List<int>');
144144
}
145145

146146
test_noContext_noTypeArgs_forEachWithIdentifier() async {
147-
await resolveTestCode('''
148-
List<int> c;
149-
int b;
147+
await assertNoErrorsInCode('''
148+
List<int> c = [];
149+
int b = 0;
150150
var a = [for (b in c) b * 2];
151151
''');
152152
assertType(findNode.listLiteral('[for'), 'List<int>');
153153
}
154154

155155
test_noContext_noTypeArgs_forWithDeclaration() async {
156-
await resolveTestCode('''
156+
await assertNoErrorsInCode('''
157157
var a = [for (var i = 0; i < 2; i++) i * 2];
158158
''');
159159
assertType(findNode.listLiteral('[for'), 'List<int>');
160160
}
161161

162162
test_noContext_noTypeArgs_forWithExpression() async {
163-
await resolveTestCode('''
164-
int i;
163+
await assertNoErrorsInCode('''
164+
int i = 0;
165165
var a = [for (i = 0; i < 2; i++) i * 2];
166166
''');
167167
assertType(findNode.listLiteral('[for'), 'List<int>');
168168
}
169169

170170
test_noContext_noTypeArgs_if() async {
171-
await resolveTestCode('''
171+
await assertNoErrorsInCode('''
172172
bool c = true;
173173
var a = [if (c) 1];
174174
''');
175175
assertType(findNode.listLiteral('['), 'List<int>');
176176
}
177177

178178
test_noContext_noTypeArgs_ifElse_lubOfInt() async {
179-
await resolveTestCode('''
179+
await assertNoErrorsInCode('''
180180
bool c = true;
181181
var a = [if (c) 1 else 2];
182182
''');
183183
assertType(findNode.listLiteral('['), 'List<int>');
184184
}
185185

186186
test_noContext_noTypeArgs_ifElse_lubOfNum() async {
187-
await resolveTestCode('''
187+
await assertNoErrorsInCode('''
188188
bool c = true;
189189
var a = [if (c) 1 else 2.3];
190190
''');
191191
assertType(findNode.listLiteral('['), 'List<num>');
192192
}
193193

194194
test_noContext_noTypeArgs_ifElse_lubOfObject() async {
195-
await resolveTestCode('''
195+
await assertNoErrorsInCode('''
196196
bool c = true;
197197
var a = [if (c) 1 else '2'];
198198
''');
199199
assertType(findNode.listLiteral('['), 'List<Object>');
200200
}
201201

202202
test_noContext_noTypeArgs_noElements() async {
203-
await resolveTestCode('''
203+
await assertNoErrorsInCode('''
204204
var a = [];
205205
''');
206206
assertType(findNode.listLiteral('['), 'List<dynamic>');
207207
}
208208

209209
test_noContext_noTypeArgs_spread() async {
210-
await resolveTestCode('''
211-
List<int> c;
210+
await assertNoErrorsInCode('''
211+
List<int> c = [];
212212
var a = [...c];
213213
''');
214214
assertType(findNode.listLiteral('[...'), 'List<int>');
215215
}
216216

217217
test_noContext_noTypeArgs_spread_lubOfInt() async {
218-
await resolveTestCode('''
219-
List<int> c;
220-
List<int> b;
218+
await assertNoErrorsInCode('''
219+
List<int> c = [];
220+
List<int> b = [];
221221
var a = [...b, ...c];
222222
''');
223223
assertType(findNode.listLiteral('[...'), 'List<int>');
224224
}
225225

226226
test_noContext_noTypeArgs_spread_lubOfNum() async {
227-
await resolveTestCode('''
228-
List<int> c;
229-
List<double> b;
227+
await assertNoErrorsInCode('''
228+
List<int> c = [];
229+
List<double> b = [];
230230
var a = [...b, ...c];
231231
''');
232232
assertType(findNode.listLiteral('[...'), 'List<num>');
233233
}
234234

235235
test_noContext_noTypeArgs_spread_lubOfObject() async {
236-
await resolveTestCode('''
237-
List<int> c;
238-
List<String> b;
236+
await assertNoErrorsInCode('''
237+
List<int> c = [];
238+
List<String> b = [];
239239
var a = [...b, ...c];
240240
''');
241241
assertType(findNode.listLiteral('[...'), 'List<Object>');
242242
}
243243

244244
test_noContext_noTypeArgs_spread_mixin() async {
245-
await resolveTestCode(r'''
245+
await assertNoErrorsInCode(r'''
246246
mixin L on List<int> {}
247-
main() {
248-
L l1;
247+
248+
main(L l1) {
249+
// ignore:unused_local_variable
249250
var l2 = [...l1];
250251
}
251252
''');
@@ -254,17 +255,18 @@ main() {
254255

255256
test_noContext_noTypeArgs_spread_nestedInIf_oneAmbiguous() async {
256257
await resolveTestCode('''
257-
List<int> c;
258+
List<int> c = [];
258259
dynamic d;
259260
var a = [if (0 < 1) ...c else ...d];
260261
''');
261-
assertType(findNode.listLiteral('['), 'List<dynamic>');
262+
assertType(findNode.listLiteral('[if'), 'List<dynamic>');
262263
}
263264

264265
test_noContext_noTypeArgs_spread_nullAware_nullAndNotNull() async {
265-
await resolveTestCode('''
266+
await assertNoErrorsInCode('''
266267
f() async {
267268
var futureNull = Future.value(null);
269+
// ignore:unused_local_variable
268270
var a = [1, ...?await futureNull, 2];
269271
}
270272
''');
@@ -278,9 +280,10 @@ f() async {
278280
}
279281

280282
test_noContext_noTypeArgs_spread_nullAware_onlyNull() async {
281-
await resolveTestCode('''
283+
await assertNoErrorsInCode('''
282284
f() async {
283285
var futureNull = Future.value(null);
286+
// ignore:unused_local_variable
284287
var a = [...?await futureNull];
285288
}
286289
''');
@@ -295,22 +298,22 @@ var a = <String>[1];
295298
}
296299

297300
test_noContext_typeArgs_expression_noConflict() async {
298-
await resolveTestCode('''
301+
await assertNoErrorsInCode('''
299302
var a = <int>[1];
300303
''');
301304
assertType(findNode.listLiteral('['), 'List<int>');
302305
}
303306

304307
@failingTest
305308
test_noContext_typeArgs_expressions_conflict() async {
306-
await resolveTestCode('''
309+
await assertNoErrorsInCode('''
307310
var a = <int, String>[1, 2];
308311
''');
309312
assertType(findNode.listLiteral('['), 'List<int>');
310313
}
311314

312315
test_noContext_typeArgs_noElements() async {
313-
await resolveTestCode('''
316+
await assertNoErrorsInCode('''
314317
var a = <num>[];
315318
''');
316319
assertType(findNode.listLiteral('['), 'List<num>');

0 commit comments

Comments
 (0)