| 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); |
| } |
| } |
| } |