From 68e3cd3e85af50f82b5c59f453ce568c99ea0837 Mon Sep 17 00:00:00 2001 From: "Anna.Kozlova" Date: Thu, 20 Oct 2016 19:22:15 +0200 Subject: [PATCH] junit 5: for mixed junit 3 & 5 check inheritance if no annotations found (IDEA-162923) --- .../src/com/intellij/execution/junit/InheritorChooser.java | 5 ++--- .../impl/src/com/intellij/execution/junit/JUnitUtil.java | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/junit/InheritorChooser.java b/java/execution/impl/src/com/intellij/execution/junit/InheritorChooser.java index 32519472d723..61d0172f3384 100644 --- a/java/execution/impl/src/com/intellij/execution/junit/InheritorChooser.java +++ b/java/execution/impl/src/com/intellij/execution/junit/InheritorChooser.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2016 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. @@ -35,7 +35,6 @@ import com.intellij.psi.util.PsiClassUtil; import com.intellij.ui.ColoredListCellRenderer; import com.intellij.ui.components.JBList; import com.intellij.util.ArrayUtil; -import com.intellij.util.Processor; import javax.swing.*; import java.util.ArrayList; @@ -85,7 +84,7 @@ public class InheritorChooser { if (!ProgressManager.getInstance().runProcessWithProgressSynchronously(() -> { final boolean isJUnit5 = ApplicationManager.getApplication().runReadAction((Computable)() -> JUnitUtil.isJUnit5(containingClass)); ClassInheritorsSearch.search(containingClass).forEach(aClass -> { - if (PsiClassUtil.isRunnableClass(aClass, !isJUnit5, true)) { + if (isJUnit5 && JUnitUtil.isJUnit5TestClass(aClass, true) || PsiClassUtil.isRunnableClass(aClass, true, true)) { classes.add(aClass); } return true; diff --git a/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java b/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java index d63f2bc7bd4f..7ed83d254664 100644 --- a/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java +++ b/java/execution/impl/src/com/intellij/execution/junit/JUnitUtil.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. + * Copyright 2000-2016 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. @@ -138,8 +138,8 @@ 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); + if (isJUnit5(psiClass) && isJUnit5TestClass(psiClass, checkAbstract)) { + return true; } final PsiClass topLevelClass = PsiTreeUtil.getTopmostParentOfType(psiClass, PsiClass.class); if (topLevelClass != null) {