Merge remote-tracking branch 'origin/master'

This commit is contained in:
Roman Shevchenko
2016-10-21 18:28:09 +02:00
177 changed files with 2310 additions and 1009 deletions
@@ -27,6 +27,7 @@ import com.intellij.openapi.ui.popup.PopupStep;
import com.intellij.openapi.ui.popup.util.BaseListPopupStep;
import com.intellij.psi.PsiElement;
import com.intellij.psi.search.PsiElementProcessor;
import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import javax.swing.*;
@@ -110,7 +111,7 @@ public abstract class AbstractAddToTestsPatternAction<T extends ModuleBasedConfi
for (RunConfiguration configuration : configurations) {
if (isPatternBasedConfiguration((T)configuration)) {
if (foundClasses.size() > 1 ||
!getPatterns((T)configuration).contains(getPatternBasedProducer().getQName(foundClasses.iterator().next()))) {
foundClasses.size() == 1 && !getPatterns((T)configuration).contains(getPatternBasedProducer().getQName(ContainerUtil.getFirstItem(foundClasses)))) {
foundConfigurations.add((T)configuration);
}
}
@@ -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<Boolean>)() -> 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;
@@ -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) {
@@ -16,14 +16,11 @@
package com.intellij.execution.configurations;
import com.intellij.execution.ExecutionException;
import com.intellij.execution.process.ColoredProcessHandler;
import com.intellij.execution.process.OSProcessHandler;
import com.intellij.execution.process.ProcessHandlerFactory;
import com.intellij.execution.process.ProcessTerminatedListener;
import org.jetbrains.annotations.NotNull;
/**
* @author spleaner
*/
public class JavaCommandLineStateUtil {
private JavaCommandLineStateUtil() { }
@@ -34,7 +31,10 @@ public class JavaCommandLineStateUtil {
@NotNull
public static OSProcessHandler startProcess(@NotNull GeneralCommandLine commandLine, boolean ansiColoring) throws ExecutionException {
OSProcessHandler processHandler = ansiColoring ? new ColoredProcessHandler(commandLine) : new OSProcessHandler(commandLine);
ProcessHandlerFactory factory = ProcessHandlerFactory.getInstance();
OSProcessHandler processHandler = ansiColoring ?
factory.createColoredProcessHandler(commandLine) :
factory.createProcessHandler(commandLine);
ProcessTerminatedListener.attach(processHandler);
return processHandler;
}