DAS: Add tests on add_type_annotation for dynamic Closes https://github.com/dart-lang/sdk/issues/56730 This bug is fixed already; this change introduces unit tests. Change-Id: I85fdbe2cb1ab46667e6c265576abb774a5dafda6 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/501120 Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart index b7ab34f..71e4046 100644 --- a/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart +++ b/pkg/analysis_server/lib/src/services/correction/dart/add_type_annotation.dart
@@ -196,13 +196,10 @@ return; } - int offset; - switch (node) { - case ListLiteral(): - offset = node.leftBracket.offset; - case SetOrMapLiteral(): - offset = node.leftBracket.offset; - } + var offset = switch (node) { + ListLiteral() => node.leftBracket.offset, + SetOrMapLiteral() => node.leftBracket.offset, + }; await builder.addDartFileEdit(file, (builder) { builder.addInsertion(offset, (builder) {
diff --git a/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart b/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart index 022bc22..330f64a 100644 --- a/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart +++ b/pkg/analysis_server/test/src/services/correction/assist/add_type_annotation_test.dart
@@ -210,6 +210,15 @@ await assertNoAssist(); } + Future<void> test_listLiteral_dynamicElement() async { + await resolveTestCode(''' +List<dynamic> list = ^[]; +'''); + await assertHasAssist(''' +List<dynamic> list = <dynamic>[]; +'''); + } + Future<void> test_local_addImport_dartUri() async { newFile('$testPackageLibPath/my_lib.dart', r''' import 'dart:collection'; @@ -714,6 +723,15 @@ await assertNoAssist(); } + Future<void> test_mapLiteral_dynamicKeyAndValue() async { + await resolveTestCode(''' +Map<dynamic, dynamic> map = ^{}; +'''); + await assertHasAssist(''' +Map<dynamic, dynamic> map = <dynamic, dynamic>{}; +'''); + } + Future<void> test_mapLiteral_notype() async { await resolveTestCode(''' var map = ^{}; @@ -996,6 +1014,15 @@ '''); } + Future<void> test_setLiteral_dynamicElement() async { + await resolveTestCode(''' +Set<dynamic> set = ^{}; +'''); + await assertHasAssist(''' +Set<dynamic> set = <dynamic>{}; +'''); + } + Future<void> test_topLevelVariable_int() async { await resolveTestCode(''' ^var v = 0;