testng: ensure public test class so gutters and run provider treat classes in the same way (IDEA-162561)

This commit is contained in:
Anna.Kozlova
2016-10-17 10:11:10 +02:00
parent 985405e319
commit b324cfdd83
2 changed files with 16 additions and 2 deletions
@@ -47,7 +47,7 @@ public abstract class AbstractTestNGInClassConfigurationProducer extends TestNGC
}
private static boolean isTestNGClass(PsiClass psiClass) {
return psiClass != null && PsiClassUtil.isRunnableClass(psiClass, true, false) && TestNGUtil.hasTest(psiClass);
return psiClass != null && TestNGUtil.hasTest(psiClass);
}
@Override
@@ -192,6 +192,20 @@ public class TestNGUtil {
}
public static boolean hasTest(PsiModifierListOwner element, boolean checkHierarchy, boolean checkDisabled, boolean checkJavadoc) {
final PsiClass aClass;
if (element instanceof PsiClass) {
aClass = ((PsiClass)element);
}
else if (element instanceof PsiMethod) {
aClass = ((PsiMethod)element).getContainingClass();
}
else {
aClass = null;
}
if (aClass == null || !PsiClassUtil.isRunnableClass(aClass, true, false)) {
return false;
}
//LanguageLevel effectiveLanguageLevel = element.getManager().getEffectiveLanguageLevel();
//boolean is15 = effectiveLanguageLevel != LanguageLevel.JDK_1_4 && effectiveLanguageLevel != LanguageLevel.JDK_1_3;
boolean hasAnnotation = AnnotationUtil.isAnnotated(element, TEST_ANNOTATION_FQN, checkHierarchy, true);
@@ -474,7 +488,7 @@ public class TestNGUtil {
}
public static boolean isTestNGClass(PsiClass psiClass) {
return hasTest(psiClass, true, false, false);
return hasTest(psiClass);
}
public static boolean checkTestNGInClasspath(PsiElement psiElement) {