mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Removed unnecessary EP, introduced Rename Handler for Python Magic Literals: fixing some tests
This commit is contained in:
@@ -938,20 +938,4 @@ public abstract class UsefulTestCase extends TestCase {
|
||||
}.process(test);
|
||||
return testSuite;
|
||||
}
|
||||
|
||||
protected void findHandlerAndDoRename(final String newName, Editor editor, Project project, PsiFile file) {
|
||||
final DataContext editorContext = ((EditorEx)editor).getDataContext();
|
||||
final DataContext context = new DataContext() {
|
||||
@Override
|
||||
public Object getData(@NonNls String dataId) {
|
||||
return PsiElementRenameHandler.DEFAULT_NAME.getName().equals(dataId)
|
||||
? newName
|
||||
: editorContext.getData(dataId);
|
||||
}
|
||||
};
|
||||
final RenameHandler renameHandler = RenameHandlerRegistry.getInstance().getRenameHandler(context);
|
||||
assertNotNull(renameHandler);
|
||||
|
||||
renameHandler.invoke(project, editor, file, context);
|
||||
}
|
||||
}
|
||||
|
||||
+7
@@ -492,6 +492,13 @@ public interface CodeInsightTestFixture extends IdeaProjectTestFixture {
|
||||
|
||||
void renameElementAtCaret(@NotNull String newName);
|
||||
|
||||
/**
|
||||
* Renames element at caret using injected {@link com.intellij.refactoring.rename.RenameHandler}s.
|
||||
* Very close to {@link #renameElementAtCaret(String)} but uses handlers.
|
||||
* @param newName new name for the element.
|
||||
*/
|
||||
void renameElementAtCaretUsingHandler(@NotNull String newName);
|
||||
|
||||
void renameElement(@NotNull PsiElement element, @NotNull String newName);
|
||||
|
||||
void allowTreeAccessForFile(@NotNull VirtualFile file);
|
||||
|
||||
+18
-2
@@ -98,8 +98,7 @@ import com.intellij.psi.search.UsageSearchContext;
|
||||
import com.intellij.psi.stubs.StubUpdatingIndex;
|
||||
import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.refactoring.move.moveFilesOrDirectories.MoveFilesOrDirectoriesProcessor;
|
||||
import com.intellij.refactoring.rename.RenameProcessor;
|
||||
import com.intellij.refactoring.rename.RenamePsiElementProcessor;
|
||||
import com.intellij.refactoring.rename.*;
|
||||
import com.intellij.rt.execution.junit.FileComparisonFailure;
|
||||
import com.intellij.testFramework.*;
|
||||
import com.intellij.testFramework.fixtures.*;
|
||||
@@ -689,6 +688,23 @@ public class CodeInsightTestFixtureImpl extends BaseFixture implements CodeInsig
|
||||
renameElement(getElementAtCaret(), newName);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renameElementAtCaretUsingHandler(@NotNull final String newName) {
|
||||
final DataContext editorContext = ((EditorEx)myEditor).getDataContext();
|
||||
final DataContext context = new DataContext() {
|
||||
@Override
|
||||
public Object getData(@NonNls final String dataId) {
|
||||
return PsiElementRenameHandler.DEFAULT_NAME.getName().equals(dataId)
|
||||
? newName
|
||||
: editorContext.getData(dataId);
|
||||
}
|
||||
};
|
||||
final RenameHandler renameHandler = RenameHandlerRegistry.getInstance().getRenameHandler(context);
|
||||
assert renameHandler != null: "No handler for this context";
|
||||
|
||||
renameHandler.invoke(getProject(), myEditor, getFile(), context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void renameElement(@NotNull final PsiElement element, @NotNull final String newName) {
|
||||
final boolean searchInComments = false;
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.jetbrains.python.magicLiteral;
|
||||
|
||||
import com.intellij.openapi.extensions.ExtensionPointName;
|
||||
import com.jetbrains.python.psi.PyStringLiteralExpression;
|
||||
import com.jetbrains.python.psi.StringLiteralExpression;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
/**
|
||||
* Any magic literal extension point should imlement this interface and be installed as extesnion point
|
||||
@@ -21,7 +20,7 @@ public interface PyMagicLiteralExtensionPoint {
|
||||
* @param element element to check
|
||||
* @return true if magic.
|
||||
*/
|
||||
boolean isMagicLiteral(@NotNull PyStringLiteralExpression element);
|
||||
boolean isMagicLiteral(@NotNull StringLiteralExpression element);
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -25,6 +25,7 @@ import com.intellij.psi.util.PsiTreeUtil;
|
||||
import com.intellij.refactoring.rename.RenameDialog;
|
||||
import com.intellij.refactoring.rename.RenameHandler;
|
||||
import com.jetbrains.python.psi.PyStringLiteralExpression;
|
||||
import com.jetbrains.python.psi.StringLiteralExpression;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -59,7 +60,7 @@ public class PyMagicLiteralRenameHandler implements RenameHandler {
|
||||
if (element instanceof PyStringLiteralExpression) {
|
||||
return element;
|
||||
}
|
||||
return PsiTreeUtil.getParentOfType(element, PyStringLiteralExpression.class);
|
||||
return PsiTreeUtil.getParentOfType(element, StringLiteralExpression.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,7 +2,7 @@ package com.jetbrains.python.magicLiteral;
|
||||
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import com.jetbrains.python.psi.PyStringLiteralExpression;
|
||||
import com.jetbrains.python.psi.StringLiteralExpression;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -23,7 +23,7 @@ public final class PyMagicLiteralTools {
|
||||
* @return true if magic
|
||||
*/
|
||||
public static boolean isMagicLiteral(@NotNull final PsiElement element) {
|
||||
return (element instanceof PyStringLiteralExpression) && (getPoint((PyStringLiteralExpression)element) != null);
|
||||
return (element instanceof StringLiteralExpression) && (getPoint((StringLiteralExpression)element) != null);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -33,7 +33,7 @@ public final class PyMagicLiteralTools {
|
||||
* @return extension point (if any) or null if literal is unknown to all installed magic literal extesnion points
|
||||
*/
|
||||
@Nullable
|
||||
public static PyMagicLiteralExtensionPoint getPoint(@NotNull final PyStringLiteralExpression element) {
|
||||
public static PyMagicLiteralExtensionPoint getPoint(@NotNull final StringLiteralExpression element) {
|
||||
final PyMagicLiteralExtensionPoint[] magicLiteralExtPoints =
|
||||
ApplicationManager.getApplication().getExtensions(PyMagicLiteralExtensionPoint.EP_NAME);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user