blob: d63817cf79b64f5f597caa264a6101df3f0d6ca2 [file] [log] [blame]
package org.jetbrains.android.intentions;
import com.intellij.codeInsight.intention.IntentionAction;
import com.intellij.codeInspection.LocalInspectionTool;
import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.android.AndroidTestCase;
import org.jetbrains.android.inspections.AndroidNonConstantResIdsInSwitchInspection;
/**
* @author Eugene.Kudelevsky
*/
public class AndroidIntentionsTest extends AndroidTestCase {
private static final String BASE_PATH = "intentions/";
public void testSwitchOnResourceId() {
myFacet.setLibraryProject(true);
myFixture.copyFileToProject(BASE_PATH + "R.java", "src/p1/p2/R.java");
final AndroidNonConstantResIdsInSwitchInspection inspection = new AndroidNonConstantResIdsInSwitchInspection();
doTest(inspection, true, inspection.getQuickFixName());
}
public void testSwitchOnResourceId1() {
myFacet.setLibraryProject(false);
myFixture.copyFileToProject(BASE_PATH + "R.java", "src/p1/p2/R.java");
final AndroidNonConstantResIdsInSwitchInspection inspection = new AndroidNonConstantResIdsInSwitchInspection();
doTest(inspection, false, inspection.getQuickFixName());
}
public void testSwitchOnResourceId2() {
myFacet.setLibraryProject(true);
myFixture.copyFileToProject(BASE_PATH + "R.java", "src/p1/p2/R.java");
final AndroidNonConstantResIdsInSwitchInspection inspection = new AndroidNonConstantResIdsInSwitchInspection();
doTest(inspection, false, inspection.getQuickFixName());
}
private void doTest(final LocalInspectionTool inspection, boolean available, String quickFixName) {
myFixture.enableInspections(inspection);
final VirtualFile file = myFixture.copyFileToProject(BASE_PATH + getTestName(false) + ".java", "src/p1/p2/Class.java");
myFixture.configureFromExistingVirtualFile(file);
myFixture.checkHighlighting(true, false, false);
final IntentionAction quickFix = myFixture.getAvailableIntention(quickFixName);
if (available) {
assertNotNull(quickFix);
myFixture.launchAction(quickFix);
myFixture.checkResultByFile(BASE_PATH + getTestName(false) + "_after.java");
}
else {
assertNull(quickFix);
}
}
}