From 78733b18c357c0befe72bdfc743da1cf70ca223d Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Thu, 25 May 2017 13:11:36 +0300 Subject: [PATCH] junit 5: fix parameter presentation (IDEA-173408) --- .../intellij/execution/junit/JUnitConfiguration.java | 9 +++++++-- .../test/com/intellij/junit5/JUnit5NamingTest.java | 10 +++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java index ad5e63a475c3..f5746b82ea78 100644 --- a/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java +++ b/plugins/junit/src/com/intellij/execution/junit/JUnitConfiguration.java @@ -647,12 +647,17 @@ public class JUnitConfiguration extends JavaTestConfigurationBase { if (aClass == null) { return ""; } - return "L" + ClassUtil.getJVMClassName(aClass) + ";"; + return ClassUtil.getJVMClassName(aClass); } @Override public String visitArrayType(PsiArrayType arrayType) { - return "[" + arrayType.getComponentType().accept(this); + PsiType componentType = arrayType.getComponentType(); + String typePresentation = componentType.accept(this); + if (componentType instanceof PsiClassType) { + typePresentation = "L" + typePresentation + ";"; + } + return "[" + typePresentation; } }; } diff --git a/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NamingTest.java b/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NamingTest.java index f9329c696137..415050d16f35 100644 --- a/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NamingTest.java +++ b/plugins/junit5_rt_tests/test/com/intellij/junit5/JUnit5NamingTest.java @@ -29,15 +29,23 @@ public class JUnit5NamingTest extends JUnit5CodeInsightTest { PsiJavaFile file = (PsiJavaFile)myFixture.configureByText("MyTest.java", "import org.junit.jupiter.api.*;" + "class MyTest {" + " @Test void foo(int[] i); \n" + + " @Test void foo(int i); \n" + " @Test void foo(String[] i); \n" + + " @Test void foo(String i); \n" + " @Test void foo(Foo[] i); \n" + + " @Test void foo(Foo i); \n" + " static class Foo {}" + "}"); String[] methodPresentations = Arrays.stream(file.getClasses()[0].getMethods()) .map(method -> JUnitConfiguration.Data.getMethodPresentation(method)) .toArray(String[]::new); - Assertions.assertArrayEquals(new String[] {"foo([int)", "foo([Ljava.lang.String;)", "foo([LMyTest$Foo;)"}, + Assertions.assertArrayEquals(new String[] {"foo([int)", + "foo(int)", + "foo([Ljava.lang.String;)", + "foo(java.lang.String)", + "foo([LMyTest$Foo;)", + "foo(MyTest$Foo)"}, methodPresentations, Arrays.toString(methodPresentations)); });