Files
openide/java/java-tests/testSrc/com/intellij/codeInsight/daemon/quickFix/EmptyIntentionInspectionQuickFixTest.java
T
2010-09-30 10:35:32 +04:00

78 lines
2.4 KiB
Java

package com.intellij.codeInsight.daemon.quickFix;
import com.intellij.codeInsight.intention.EmptyIntentionAction;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.codeInspection.ProblemsHolder;
import com.intellij.psi.JavaElementVisitor;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiLiteralExpression;
import com.intellij.psi.PsiReferenceExpression;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import java.util.List;
/**
* @author cdr
*/
public class EmptyIntentionInspectionQuickFixTest extends LightQuickFixTestCase{
@Override
@NonNls
protected String getBasePath() {
return "/codeInsight/daemonCodeAnalyzer/quickFix/emptyIntention";
}
@Override
protected LocalInspectionTool[] configureLocalInspectionTools() {
return new LocalInspectionTool[]{new LocalInspectionTool() {
@Override
@Nls
@NotNull
public String getGroupDisplayName() {
return "MyGroup";
}
@Override
@Nls
@NotNull
public String getDisplayName() {
return "My";
}
@Override
@NonNls
@NotNull
public String getShortName() {
return getDisplayName();
}
@Override
@NotNull
public PsiElementVisitor buildVisitor(@NotNull final ProblemsHolder holder, boolean isOnTheFly) {
return new JavaElementVisitor() {
@Override public void visitReferenceExpression(PsiReferenceExpression expression) {
}
@Override public void visitLiteralExpression(PsiLiteralExpression expression) {
final String s = (String)expression.getValue();
if (s.contains("a")) holder.registerProblem(expression, "Look ma! This String contains 'a'");
if (s.contains("b")) holder.registerProblem(expression, "Look ma! This String contains 'b'");
}
};
}
}};
}
public void testX() throws Exception {
configureByFile(getBasePath()+"/X.java");
List<IntentionAction> emptyActions = getAvailableActions();
for (int i = emptyActions.size()-1; i>=0; i--) {
IntentionAction action = emptyActions.get(i);
if (!(action instanceof EmptyIntentionAction)) emptyActions.remove(i);
}
assertEquals(1, emptyActions.size());
}
}