mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Gradle: IDEA-127217 Tests with spaces aren't wrapped with " " when running specific test as Gradle test
This commit is contained in:
+9
-3
@@ -107,7 +107,8 @@ public class TestMethodGradleConfigurationProducer extends RunConfigurationProdu
|
||||
if (!configuration.getSettings().getTaskNames().containsAll(TASKS_TO_RUN)) return false;
|
||||
|
||||
final String scriptParameters = configuration.getSettings().getScriptParameters() + ' ';
|
||||
return scriptParameters.contains(String.format("--tests %s.%s ", containingClass.getQualifiedName(), psiMethod.getName()));
|
||||
final String testFilter = creatTestFilter(containingClass, psiMethod);
|
||||
return scriptParameters.contains(testFilter);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -163,11 +164,16 @@ public class TestMethodGradleConfigurationProducer extends RunConfigurationProdu
|
||||
|
||||
StringBuilder buf = new StringBuilder();
|
||||
for (PsiClass aClass : containingClasses) {
|
||||
buf.append(String.format("--tests %s.%s ", aClass.getQualifiedName(), psiMethod.getName()));
|
||||
buf.append(creatTestFilter(aClass, psiMethod));
|
||||
}
|
||||
|
||||
configuration.getSettings().setScriptParameters(buf.toString());
|
||||
configuration.getSettings().setScriptParameters(buf.toString().trim());
|
||||
configuration.setName(psiMethod.getName());
|
||||
return true;
|
||||
}
|
||||
|
||||
private static String creatTestFilter(@NotNull PsiClass aClass, @NotNull PsiMethod psiMethod) {
|
||||
String testFilterPattern = aClass.getQualifiedName() + '.' + psiMethod.getName();
|
||||
return String.format("--tests \"%s\" ", StringUtil.replaceChar(testFilterPattern, '\"', '*'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user