Add test case with macros for change method signature.
Change-Id: Ic7be0ec8935a8ecd6b6474ceb1ce7edf6ac86961
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354961
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/test/services/refactoring/agnostic/change_method_signature_test.dart b/pkg/analysis_server/test/services/refactoring/agnostic/change_method_signature_test.dart
index ab3324f..46d398f 100644
--- a/pkg/analysis_server/test/services/refactoring/agnostic/change_method_signature_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/agnostic/change_method_signature_test.dart
@@ -1425,6 +1425,44 @@
''');
}
+ Future<void> test_classMethod_optionalNamed_in_macro_remove() async {
+ addMacros([declareInLibraryMacro()]);
+ await _analyzeValidSelection(r'''
+import 'macros.dart';
+
+@DeclareInType('void foo() { test(a: 0, b: 1, c: 2);}')
+class A {
+ void ^test({int a, int b, int c}) {}
+}
+''');
+
+ final signatureUpdate = MethodSignatureUpdate(
+ formalParameters: [
+ FormalParameterUpdate(
+ id: 0,
+ kind: FormalParameterKind.optionalNamed,
+ ),
+ FormalParameterUpdate(
+ id: 2,
+ kind: FormalParameterKind.optionalNamed,
+ ),
+ ],
+ removedNamedFormalParameters: {'b'},
+ formalParametersTrailingComma: TrailingComma.ifPresent,
+ argumentsTrailingComma: ArgumentsTrailingComma.ifPresent,
+ );
+
+ await _assertUpdate(signatureUpdate, r'''
+>>>>>>> /home/test/lib/test.dart
+import 'macros.dart';
+
+@DeclareInType('void foo() { test(a: 0, b: 1, c: 2);}')
+class A {
+ void test({int a, int c}) {}
+}
+''');
+ }
+
Future<void> test_classMethod_optionalNamed_reorder_less() async {
await _analyzeValidSelection(r'''
class A {