Skip to content

Commit e7a7f44

Browse files
chloestefantsovaCommit Queue
authored andcommitted
[analyzer] Add tests for null-aware elements and inlay hints
Part of #56989 Change-Id: I609b660838071b82582bd9009c16c92eeab6a7f5 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/398860 Commit-Queue: Chloe Stefantsova <[email protected]> Reviewed-by: Keerti Parthasarathy <[email protected]>
1 parent dc9be35 commit e7a7f44

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

pkg/analysis_server/test/lsp/inlay_hint_test.dart

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,62 @@ void f() {
292292
await _expectHints(content, expected);
293293
}
294294

295+
Future<void> test_forLoop_insideNullAwareElement_inList() async {
296+
var content = '''
297+
void f() {
298+
[? (() { for (var i = 0; i < 1; i++) {} return 1; })()];
299+
}
300+
''';
301+
var expected = '''
302+
void f() {
303+
(Type:<int>)[? (() { for (var (Type:int) i = 0; i < 1; i++) {} return 1; })()];
304+
}
305+
''';
306+
await _expectHints(content, expected);
307+
}
308+
309+
Future<void> test_forLoop_insideNullAwareElement_inSet() async {
310+
var content = '''
311+
void f() {
312+
<int>{? (() { for (var i = 0; i < 1; i++) {} return 1; })()};
313+
}
314+
''';
315+
var expected = '''
316+
void f() {
317+
<int>{? (() { for (var (Type:int) i = 0; i < 1; i++) {} return 1; })()};
318+
}
319+
''';
320+
await _expectHints(content, expected);
321+
}
322+
323+
Future<void> test_forLoop_insideNullAwareKey_inMap() async {
324+
var content = '''
325+
void f() {
326+
<int, String>{? (() { for (var i = 0; i < 1; i++) {} return 1; })(): "value"};
327+
}
328+
''';
329+
var expected = '''
330+
void f() {
331+
<int, String>{? (() { for (var (Type:int) i = 0; i < 1; i++) {} return 1; })(): "value"};
332+
}
333+
''';
334+
await _expectHints(content, expected);
335+
}
336+
337+
Future<void> test_forLoop_insideNullAwareValue_inMap() async {
338+
var content = '''
339+
void f() {
340+
<String, int>{"key": ? (() { for (var i = 0; i < 1; i++) {} return 1; })()};
341+
}
342+
''';
343+
var expected = '''
344+
void f() {
345+
<String, int>{"key": ? (() { for (var (Type:int) i = 0; i < 1; i++) {} return 1; })()};
346+
}
347+
''';
348+
await _expectHints(content, expected);
349+
}
350+
295351
Future<void> test_forLoop_wildcards() async {
296352
var content = '''
297353
void f() {

0 commit comments

Comments
 (0)