mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
junit: recognized junit 5 inner classes with test methods
This commit is contained in:
@@ -133,6 +133,9 @@ public class JUnitUtil {
|
||||
|
||||
public static boolean isTestClass(@NotNull PsiClass psiClass, boolean checkAbstract, boolean checkForTestCaseInheritance) {
|
||||
if (psiClass.getQualifiedName() == null) return false;
|
||||
if (isJUnit5(psiClass)) {
|
||||
return isJUnit5TestClass(psiClass, checkAbstract);
|
||||
}
|
||||
final PsiClass topLevelClass = PsiTreeUtil.getTopmostParentOfType(psiClass, PsiClass.class);
|
||||
if (topLevelClass != null) {
|
||||
final PsiAnnotation annotation = AnnotationUtil.findAnnotationInHierarchy(topLevelClass, Collections.singleton(RUN_WITH));
|
||||
@@ -146,12 +149,11 @@ public class JUnitUtil {
|
||||
}
|
||||
}
|
||||
}
|
||||
boolean hasJUnit5 = isJUnit5(psiClass);
|
||||
if (!PsiClassUtil.isRunnableClass(psiClass, !hasJUnit5, checkAbstract)) return false;
|
||||
if (!PsiClassUtil.isRunnableClass(psiClass, true, checkAbstract)) return false;
|
||||
|
||||
if (AnnotationUtil.isAnnotated(psiClass, RUN_WITH, true)) return true;
|
||||
|
||||
if (checkForTestCaseInheritance && (!hasJUnit5 || psiClass.hasModifierProperty(PsiModifier.PUBLIC)) && isTestCaseInheritor(psiClass)) return true;
|
||||
if (checkForTestCaseInheritance && isTestCaseInheritor(psiClass)) return true;
|
||||
|
||||
return CachedValuesManager.getCachedValue(psiClass, () ->
|
||||
CachedValueProvider.Result.create(hasTestOrSuiteMethods(psiClass), PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT));
|
||||
|
||||
Reference in New Issue
Block a user