inline: accept to inline constant from library (IDEA-106167)

This commit is contained in:
anna
2013-04-25 14:14:49 +02:00
parent 16244342e4
commit 7463ed3c9b
5 changed files with 38 additions and 15 deletions
@@ -0,0 +1,5 @@
import java.io.File;
public class Test {
private static final String c = File.separa<caret>tor;
}
@@ -0,0 +1,5 @@
import java.io.File;
public class Test {
private static final String c = "" + File.separatorChar;
}
@@ -2,10 +2,7 @@ package com.intellij.refactoring.inline;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.TargetElementUtilBase;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiField;
import com.intellij.psi.PsiReference;
import com.intellij.psi.PsiReferenceExpression;
import com.intellij.psi.*;
import com.intellij.refactoring.LightRefactoringTestCase;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
@@ -37,6 +34,10 @@ public class InlineConstantFieldTest extends LightRefactoringTestCase {
doTest();
}
public void testConstantFromLibrary() throws Exception {
doTest();
}
private void doTest() throws Exception {
String name = getTestName(false);
@NonNls String fileName = "/refactoring/inlineConstantField/" + name + ".java";
@@ -51,7 +52,7 @@ public class InlineConstantFieldTest extends LightRefactoringTestCase {
final PsiReference ref = myFile.findReferenceAt(myEditor.getCaretModel().getOffset());
PsiReferenceExpression refExpr = ref instanceof PsiReferenceExpression ? (PsiReferenceExpression)ref : null;
assertTrue(element instanceof PsiField);
PsiField field = (PsiField)element;
new InlineConstantFieldProcessor(field, getProject(), refExpr, false).run();
PsiField field = (PsiField)element.getNavigationElement();
new InlineConstantFieldProcessor(field, getProject(), refExpr, element instanceof PsiCompiledElement).run();
}
}