From 4f869c9226c31344ee1a5db2cf2f70333e51cfa2 Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Tue, 3 Nov 2015 16:29:28 +0300 Subject: [PATCH] add a test for the dev kit inspection: try to write stateless EP; on IDEA-CR-6432 --- .../testData/inspections/statefulEp/Ext.java | 12 +++++ .../testData/inspections/statefulEp/Fix.java | 12 +++++ .../inspections/statefulEp/NonFix.java | 12 +++++ .../inspections/statefulEp/plugin.xml | 8 +++ .../inspections/StatefulEpInspectionTest.java | 50 +++++++++++++++++++ 5 files changed, 94 insertions(+) create mode 100644 plugins/devkit/testData/inspections/statefulEp/Ext.java create mode 100644 plugins/devkit/testData/inspections/statefulEp/Fix.java create mode 100644 plugins/devkit/testData/inspections/statefulEp/NonFix.java create mode 100644 plugins/devkit/testData/inspections/statefulEp/plugin.xml create mode 100644 plugins/devkit/testSources/inspections/StatefulEpInspectionTest.java diff --git a/plugins/devkit/testData/inspections/statefulEp/Ext.java b/plugins/devkit/testData/inspections/statefulEp/Ext.java new file mode 100644 index 000000000000..33088df0067a --- /dev/null +++ b/plugins/devkit/testData/inspections/statefulEp/Ext.java @@ -0,0 +1,12 @@ +public class Ext { + final com.intellij.psi.PsiElement pe; + final com.intellij.psi.PsiReference r; + com.intellij.openapi.project.Project p; + final com.intellij.openapi.project.Project pf; + public Ext() { + super(); + pe = null; + r =null; + p = pf = null; + } +} \ No newline at end of file diff --git a/plugins/devkit/testData/inspections/statefulEp/Fix.java b/plugins/devkit/testData/inspections/statefulEp/Fix.java new file mode 100644 index 000000000000..e092dc4f0f0a --- /dev/null +++ b/plugins/devkit/testData/inspections/statefulEp/Fix.java @@ -0,0 +1,12 @@ +public class Fix extends com.intellij.codeInspection.LocalQuickFix { + final com.intellij.psi.PsiElement pe; + final com.intellij.psi.PsiReference r; + com.intellij.openapi.project.Project p; + final com.intellij.openapi.project.Project pf; + public Fix() { + super(); + pe = null; + r =null; + p = pf = null; + } +} \ No newline at end of file diff --git a/plugins/devkit/testData/inspections/statefulEp/NonFix.java b/plugins/devkit/testData/inspections/statefulEp/NonFix.java new file mode 100644 index 000000000000..64cef8543d06 --- /dev/null +++ b/plugins/devkit/testData/inspections/statefulEp/NonFix.java @@ -0,0 +1,12 @@ +public class NonFix { + final com.intellij.psi.PsiElement pe; + final com.intellij.psi.PsiReference r; + com.intellij.openapi.project.Project p; + final com.intellij.openapi.project.Project pf; + public NonFix() { + super(); + pe = null; + r =null; + p = pf = null; + } +} \ No newline at end of file diff --git a/plugins/devkit/testData/inspections/statefulEp/plugin.xml b/plugins/devkit/testData/inspections/statefulEp/plugin.xml new file mode 100644 index 000000000000..dcfcc027c961 --- /dev/null +++ b/plugins/devkit/testData/inspections/statefulEp/plugin.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/plugins/devkit/testSources/inspections/StatefulEpInspectionTest.java b/plugins/devkit/testSources/inspections/StatefulEpInspectionTest.java new file mode 100644 index 000000000000..722511ac1125 --- /dev/null +++ b/plugins/devkit/testSources/inspections/StatefulEpInspectionTest.java @@ -0,0 +1,50 @@ +/* + * Copyright 2000-2015 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; + +import com.intellij.openapi.application.PluginPathManager; +import com.intellij.testFramework.TestDataPath; + +@TestDataPath("$CONTENT_ROOT/testData/inspections/statefulEp") +public class StatefulEpInspectionTest extends PluginModuleTestCase { + @Override + protected String getBasePath() { + return PluginPathManager.getPluginHomePathRelative("devkit") + "/testData/inspections/statefulEp"; + } + + @Override + protected void setUp() throws Exception { + super.setUp(); + myFixture.addClass("package com.intellij.openapi.project; public class Project {}"); + myFixture.addClass("package com.intellij.psi; public class PsiElement {}"); + myFixture.addClass("package com.intellij.psi; public class PsiReference {}"); + myFixture.addClass("package com.intellij.codeInspection; public class LocalQuickFix {}"); + myFixture.enableInspections(new StatefulEpInspection()); + } + + public void testLocalQuickFix() { + myFixture.testHighlighting("Fix.java"); + } + + public void testNonFix() { + myFixture.testHighlighting("NonFix.java"); + } + + public void testExt() { + setPluginXml("plugin.xml"); + myFixture.testHighlighting("Ext.java"); + } +}