From c2b8bdea152da7b4fe63cd6ca37c555e4eb5ae73 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 7 Sep 2016 20:03:32 +0300 Subject: [PATCH] junit 5: detect attached junit by jupiter api --- .../execution/junit2/info/LocationUtil.java | 23 +++++++++++-------- ...ractAllInPackageConfigurationProducer.java | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/java/execution/impl/src/com/intellij/execution/junit2/info/LocationUtil.java b/java/execution/impl/src/com/intellij/execution/junit2/info/LocationUtil.java index 0cef2a7bbb8c..fe5051bea26c 100644 --- a/java/execution/impl/src/com/intellij/execution/junit2/info/LocationUtil.java +++ b/java/execution/impl/src/com/intellij/execution/junit2/info/LocationUtil.java @@ -29,30 +29,33 @@ import org.jetbrains.annotations.NotNull; * Date: 2/20/12 */ public class LocationUtil { - public static boolean isJarAttached(@NotNull Location location, @NotNull final PsiPackage aPackage, final String fqn) { - return isJarAttached(location, fqn, aPackage.getDirectories()); + public static boolean isJarAttached(@NotNull Location location, @NotNull final PsiPackage aPackage, final String... fqn) { + return isJarAttached(location, aPackage.getDirectories(), fqn); } public static boolean isJarAttached(@NotNull Location location, - final String fqn, - final PsiDirectory[] directories) { + final PsiDirectory[] directories, + final String... fqns) { final JavaPsiFacade facade = JavaPsiFacade.getInstance(location.getProject()); - boolean testngJarFound = false; final Module locationModule = location.getModule(); if (locationModule != null) { - testngJarFound = facade.findClass(fqn, GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(locationModule, true)) != null; + for (String fqn : fqns) { + if (facade.findClass(fqn, GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(locationModule, true)) != null) return true; + } } else { for (PsiDirectory directory : directories) { final Module module = ModuleUtilCore.findModuleForFile(directory.getVirtualFile(), location.getProject()); if (module != null) { - if (facade.findClass(fqn, GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(module, true)) != null) { - testngJarFound = true; - break; + GlobalSearchScope scope = GlobalSearchScope.moduleWithDependenciesAndLibrariesScope(module, true); + for (String fqn : fqns) { + if (facade.findClass(fqn, scope) != null) { + return true; + } } } } } - return testngJarFound; + return false; } } diff --git a/plugins/junit/src/com/intellij/execution/junit/AbstractAllInPackageConfigurationProducer.java b/plugins/junit/src/com/intellij/execution/junit/AbstractAllInPackageConfigurationProducer.java index f5be39e648d1..1e63a903bc39 100644 --- a/plugins/junit/src/com/intellij/execution/junit/AbstractAllInPackageConfigurationProducer.java +++ b/plugins/junit/src/com/intellij/execution/junit/AbstractAllInPackageConfigurationProducer.java @@ -38,7 +38,7 @@ public abstract class AbstractAllInPackageConfigurationProducer extends JUnitCon PsiPackage psiPackage = JavaRuntimeConfigurationProducerBase.checkPackage(context.getPsiLocation()); if (psiPackage == null) return false; sourceElement.set(psiPackage); - if (!LocationUtil.isJarAttached(context.getLocation(), psiPackage, JUnitUtil.TESTCASE_CLASS)) return false; + if (!LocationUtil.isJarAttached(context.getLocation(), psiPackage, JUnitUtil.TESTCASE_CLASS, JUnitUtil.TEST5_ANNOTATION)) return false; final JUnitConfiguration.Data data = configuration.getPersistentData(); data.PACKAGE_NAME = psiPackage.getQualifiedName(); data.TEST_OBJECT = JUnitConfiguration.TEST_PACKAGE;