blob: 4edab84c95a5fdffd0b01a87b561600b5ddfadb0 [file] [log] [blame]
package org.jf.smalidea;
import com.intellij.openapi.fileEditor.FileDocumentManager;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiDocumentManager;
import com.intellij.psi.PsiField;
import com.intellij.psi.search.GlobalSearchScope;
import com.intellij.refactoring.MultiFileTestCase;
import com.intellij.refactoring.rename.RenameProcessor;
import org.jetbrains.annotations.NotNull;
public class FieldRenameTest extends MultiFileTestCase {
@Override
protected String getTestDataPath() {
return "testData";
}
@NotNull
@Override
protected String getTestRoot() {
return "/fieldRename/";
}
public void testFieldRename() {
doTest("blah", "blah", "blort");
}
private void doTest(@NotNull final String containingClass, @NotNull final String oldFieldName,
@NotNull final String newFieldName) {
doTest(new PerformAction() {
@Override
public void performAction(VirtualFile rootDir, VirtualFile rootAfter) throws Exception {
doRename(containingClass, oldFieldName, newFieldName);
}
});
}
private void doRename(String containingClass, String oldFieldName, String newFieldName) throws Exception {
PsiClass testClass = myJavaFacade.findClass(containingClass, GlobalSearchScope.allScope(getProject()));
PsiField field = testClass.findFieldByName(oldFieldName, false);
RenameProcessor processor = new RenameProcessor(getProject(), field, newFieldName, false, false);
processor.run();
PsiDocumentManager.getInstance(getProject()).commitAllDocuments();
FileDocumentManager.getInstance().saveAllDocuments();
}
}