| /* |
| * Copyright 2000-2014 JetBrains s.r.o. |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| package org.jetbrains.idea.devkit.inspections.quickfix; |
| |
| import com.intellij.codeInsight.intention.IntentionAction; |
| import com.intellij.codeInspection.deadCode.UnusedDeclarationInspection; |
| import com.intellij.codeInspection.unusedSymbol.UnusedSymbolLocalInspection; |
| import com.intellij.openapi.application.PluginPathManager; |
| import com.intellij.testFramework.TestDataPath; |
| import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; |
| |
| /** |
| * @author Dmitry Avdeev |
| * Date: 1/20/12 |
| */ |
| @TestDataPath("$CONTENT_ROOT/testData/inspections/registerExtensionFix") |
| public class RegisterExtensionFixProviderTest extends LightCodeInsightFixtureTestCase { |
| |
| @Override |
| public void setUp() throws Exception { |
| super.setUp(); |
| myFixture.enableInspections(new UnusedDeclarationInspection(), new UnusedSymbolLocalInspection()); |
| } |
| |
| public void testCreateLocalInspectionMapping() { |
| myFixture.addClass("package com.intellij.codeInspection; public class LocalInspectionTool {} "); |
| |
| myFixture.testHighlighting("LocalInspection.java", "plugin.xml"); |
| IntentionAction intention = myFixture.findSingleIntention("Register inspection"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("plugin.xml", "localInspection.xml", true); |
| } |
| |
| public void testCreateGlobalInspectionMapping() { |
| myFixture.addClass("package com.intellij.codeInspection; public class GlobalInspectionTool {} "); |
| |
| myFixture.testHighlighting("GlobalInspection.java", "plugin.xml"); |
| IntentionAction intention = myFixture.findSingleIntention("Register inspection"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("plugin.xml", "globalInspection.xml", true); |
| } |
| |
| public void testCreateExtensionPointMapping() { |
| myFixture.testHighlighting("MyExtensionPoint.java", |
| "extensionPoint.xml", |
| "ExtensionPoint.java"); |
| IntentionAction intention = myFixture.findSingleIntention("Register extension"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("extensionPoint.xml", "extensionPoint_after.xml", true); |
| } |
| |
| public void testCreateExtensionPointMappingWithKnownRequiredAttribute() { |
| myFixture.addClass("package com.intellij.lang; public class LanguageExtensionPoint {}"); |
| |
| myFixture.testHighlighting("MyLanguageExtensionPoint.java", |
| "MyLanguageExtensionPointInterface.java", |
| "extensionPointWithKnownRequiredAttribute.xml"); |
| IntentionAction intention = myFixture.findSingleIntention("Register extension"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("extensionPointWithKnownRequiredAttribute.xml", |
| "extensionPointWithKnownRequiredAttribute_after.xml", true); |
| } |
| |
| public void testCreateExtensionPointMappingWithKnownRequiredAttributeAndTag() { |
| myFixture.addClass("package com.intellij.lang; public class LanguageExtensionPoint {}"); |
| |
| myFixture.testHighlighting("MyLanguageExtensionPoint.java", |
| "MyLanguageExtensionPointInterface.java", |
| "extensionPointWithKnownRequiredAttributeAndTag.xml"); |
| IntentionAction intention = myFixture.findSingleIntention("Register extension"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("extensionPointWithKnownRequiredAttributeAndTag.xml", |
| "extensionPointWithKnownRequiredAttributeAndTag_after.xml", true); |
| } |
| |
| public void testCreateExtensionPointMappingNoExtensionsTag() { |
| myFixture.testHighlighting("MyExtensionPoint.java", |
| "extensionPointNoExtensionsTag.xml", |
| "ExtensionPoint.java"); |
| IntentionAction intention = myFixture.findSingleIntention("Register extension"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("extensionPointNoExtensionsTag.xml", "extensionPointNoExtensionsTag_after.xml", true); |
| } |
| |
| public void testCreateExtensionPointMappingNoPluginId() { |
| myFixture.testHighlighting("MyExtensionPoint.java", |
| "extensionPointNoPluginId.xml", |
| "ExtensionPoint.java"); |
| IntentionAction intention = myFixture.findSingleIntention("Register extension"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("extensionPointNoPluginId.xml", "extensionPointNoPluginId_after.xml", true); |
| } |
| |
| public void testCreateExtensionPointQualifiedNameMapping() { |
| myFixture.testHighlighting("MyExtensionPoint.java", |
| "extensionPointQualifiedName.xml", |
| "ExtensionPoint.java"); |
| IntentionAction intention = myFixture.findSingleIntention("Register extension"); |
| myFixture.launchAction(intention); |
| myFixture.checkResultByFile("extensionPointQualifiedName.xml", "extensionPointQualifiedName_after.xml", true); |
| } |
| |
| @Override |
| protected String getBasePath() { |
| return PluginPathManager.getPluginHomePathRelative("devkit") + "/testData/inspections/registerExtensionFix"; |
| } |
| } |