| package org.jetbrains.android.run.testing; |
| |
| import com.intellij.execution.junit.JUnitUtil; |
| import com.intellij.execution.ui.ConfigurationModuleSelector; |
| import com.intellij.ide.util.ClassFilter; |
| import com.intellij.ide.util.TreeClassChooser; |
| import com.intellij.ide.util.TreeClassChooserFactory; |
| import com.intellij.openapi.project.Project; |
| import com.intellij.psi.PsiClass; |
| import com.intellij.psi.search.GlobalSearchScope; |
| import org.jetbrains.android.run.AndroidClassBrowserBase; |
| import org.jetbrains.annotations.NotNull; |
| import org.jetbrains.annotations.Nullable; |
| |
| /** |
| * @author Eugene.Kudelevsky |
| */ |
| public class AndroidTestClassBrowser extends AndroidClassBrowserBase { |
| |
| public AndroidTestClassBrowser(@NotNull Project project, |
| @NotNull ConfigurationModuleSelector moduleSelector, |
| @NotNull String dialogTitle, |
| boolean includeLibraryClasses) { |
| super(project, moduleSelector, dialogTitle, includeLibraryClasses); |
| } |
| |
| @Nullable |
| @Override |
| protected TreeClassChooser createTreeClassChooser(@NotNull Project project, |
| @NotNull GlobalSearchScope scope, |
| @Nullable PsiClass initialSelection, @NotNull final ClassFilter classFilter) { |
| return TreeClassChooserFactory.getInstance(project).createNoInnerClassesScopeChooser(myDialogTitle, scope, new ClassFilter() { |
| @Override |
| public boolean isAccepted(PsiClass aClass) { |
| return classFilter.isAccepted(aClass) && JUnitUtil.isTestClass(aClass); |
| } |
| }, initialSelection); |
| } |
| } |