Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: editor/tools/plugins/com.google.dart.engine.services_test/src/com/google/dart/engine/services/internal/refactoring/RenameClassMemberRefactoringImplTest.java

Issue 23498016: Update only unique references during rename refactoring. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.engine.services_test/src/com/google/dart/engine/services/internal/refactoring/RenameClassMemberRefactoringImplTest.java
diff --git a/editor/tools/plugins/com.google.dart.engine.services_test/src/com/google/dart/engine/services/internal/refactoring/RenameClassMemberRefactoringImplTest.java b/editor/tools/plugins/com.google.dart.engine.services_test/src/com/google/dart/engine/services/internal/refactoring/RenameClassMemberRefactoringImplTest.java
index 4fa152ee1a33e9e6b88eafefc4142c1a197421e3..5421da3c39c1569420aa054e527b77ad22a280e2 100644
--- a/editor/tools/plugins/com.google.dart.engine.services_test/src/com/google/dart/engine/services/internal/refactoring/RenameClassMemberRefactoringImplTest.java
+++ b/editor/tools/plugins/com.google.dart.engine.services_test/src/com/google/dart/engine/services/internal/refactoring/RenameClassMemberRefactoringImplTest.java
@@ -14,6 +14,7 @@
package com.google.dart.engine.services.internal.refactoring;
+import com.google.dart.engine.ast.CompilationUnit;
import com.google.dart.engine.services.change.Change;
import com.google.dart.engine.services.status.RefactoringStatusSeverity;
import com.google.dart.engine.source.Source;
@@ -527,6 +528,73 @@ public class RenameClassMemberRefactoringImplTest extends RenameRefactoringImplT
"}"));
}
+ public void test_createChange_oneUnitInTwoContexts() throws Exception {
+ String code = makeSource(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "class A {",
+ " test() {}",
+ "}",
+ "class B extends A {",
+ " test() {} // marker",
+ "}",
+ "class C extends B {",
+ " test() {}",
+ "}",
+ "class D implements B {",
+ " test() {}",
+ "}",
+ "main(var e) {",
+ " A a = new A();",
+ " B b = new B();",
+ " C c = new C();",
+ " D d = new D();",
+ " a.test();",
+ " b.test();",
+ " c.test();",
+ " d.test();",
+ " e.test();",
+ "}");
+ // index unit in separate context
+ {
+ ContextHelper helper = new ContextHelper();
+ Source source = helper.addSource("/Test.dart", code);
+ CompilationUnit unit = helper.analyzeSingleUnitLibrary(source);
+ index.indexUnit(helper.context, unit);
+ }
+ // index same unit as "test"
+ indexTestUnit(code);
+ // configure refactoring
+ createRenameRefactoring("test() {} // marker");
+ assertEquals("Rename Method", refactoring.getRefactoringName());
+ refactoring.setNewName("newName");
+ // validate change
+ assertSuccessfulRename(
+ "// filler filler filler filler filler filler filler filler filler filler",
+ "class A {",
+ " newName() {}",
+ "}",
+ "class B extends A {",
+ " newName() {} // marker",
+ "}",
+ "class C extends B {",
+ " newName() {}",
+ "}",
+ "class D implements B {",
+ " newName() {}",
+ "}",
+ "main(var e) {",
+ " A a = new A();",
+ " B b = new B();",
+ " C c = new C();",
+ " D d = new D();",
+ " a.newName();",
+ " b.newName();",
+ " c.newName();",
+ " d.newName();",
+ " e.newName();",
+ "}");
+ }
+
public void test_createChange_PropertyAccessorElement_getter() throws Exception {
indexTestUnit(
"// filler filler filler filler filler filler filler filler filler filler",

Powered by Google App Engine
This is Rietveld 408576698