verify that `extract_method` doesn't modify macro-generated files
Change-Id: If3c73a4e6fcbad97ddcb5c8f78121f80fc580035
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/354965
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
diff --git a/pkg/analysis_server/test/services/refactoring/legacy/extract_method_test.dart b/pkg/analysis_server/test/services/refactoring/legacy/extract_method_test.dart
index aa6df5d..f19cabc 100644
--- a/pkg/analysis_server/test/services/refactoring/legacy/extract_method_test.dart
+++ b/pkg/analysis_server/test/services/refactoring/legacy/extract_method_test.dart
@@ -1680,6 +1680,29 @@
''');
}
+ Future<void> test_singleExpression_occurrences_referencedInMacro() async {
+ addMacros([declareInTypeMacro()]);
+
+ await indexTestUnit('''
+import 'macros.dart';
+
+void f() {
+ print('!');
+}
+
+@DeclareInType(" void m() { print('!'); }")
+class A { }
+''');
+
+ _createRefactoringForString("print('!');");
+ await assertRefactoringConditionsOK();
+ var refactoringChange = await refactoring.createChange();
+
+ // Verify that `test.macro.dart` is unmodified.
+ expect(refactoringChange.edits.map((e) => e.file),
+ unorderedEquals(['/home/test/lib/test.dart']));
+ }
+
Future<void> test_singleExpression_parameter_functionTypeAlias() async {
await indexTestUnit('''
typedef R Foo<S, R>(S s);