From fa8eca5d9ba41d0ecdb7733f5f8186d7002cf404 Mon Sep 17 00:00:00 2001 From: anna Date: Wed, 23 Oct 2013 20:07:00 +0200 Subject: [PATCH] quick doc: fix class type params around <> (IDEA-113445) --- .../lang/java/JavaDocumentationProvider.java | 4 ++-- .../javadocIG/classTypeParamsPresentation.html | 3 +++ .../javadocIG/classTypeParamsPresentation.java | 2 ++ .../javadoc/JavaDocInfoGeneratorTest.java | 12 ++++++++++++ 4 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html create mode 100644 java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.java diff --git a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java index 683dcee76784..3cae4f5aaa94 100644 --- a/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java +++ b/java/java-impl/src/com/intellij/lang/java/JavaDocumentationProvider.java @@ -194,7 +194,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext if (aClass.hasTypeParameters()) { PsiTypeParameter[] parms = aClass.getTypeParameters(); - buffer.append("<"); + buffer.append("<"); for (int i = 0; i < parms.length; i++) { PsiTypeParameter p = parms[i]; @@ -220,7 +220,7 @@ public class JavaDocumentationProvider implements CodeDocumentationProvider, Ext } } - buffer.append(">"); + buffer.append(">"); } PsiClassType[] refs; diff --git a/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html b/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html new file mode 100644 index 000000000000..789ba1067959 --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.html @@ -0,0 +1,3 @@ +[< java 1.7 >] java.util + public class java.util.ArrayList<E> extends java.util.AbstractList<E> + implements java.util.List<E>, java.util.RandomAccess, java.lang.Cloneable, java.io.Serializable \ No newline at end of file diff --git a/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.java b/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.java new file mode 100644 index 000000000000..4244953e69be --- /dev/null +++ b/java/java-tests/testData/codeInsight/javadocIG/classTypeParamsPresentation.java @@ -0,0 +1,2 @@ +import java.util.*; +class A extends ArrayList {} \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java b/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java index 0738eab150fd..ae3df006df09 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java +++ b/java/java-tests/testSrc/com/intellij/codeInsight/javadoc/JavaDocInfoGeneratorTest.java @@ -82,6 +82,18 @@ public class JavaDocInfoGeneratorTest extends CodeInsightTestCase { assertEquals(StringUtil.convertLineSeparators(htmlText.trim()), StringUtil.convertLineSeparators(docInfo.trim())); } + public void testClassTypeParamsPresentation() throws Exception { + PsiClass psiClass = getTestClass(); + final PsiReferenceList extendsList = psiClass.getExtendsList(); + final PsiJavaCodeReferenceElement referenceElement = extendsList.getReferenceElements()[0]; + final PsiClass superClass = extendsList.getReferencedTypes()[0].resolve(); + final File htmlPath = new File(JavaTestUtil.getJavaTestDataPath() + "/codeInsight/javadocIG/" + getTestName(true) + ".html"); + String htmlText = FileUtil.loadFile(htmlPath); + String docInfo = new JavaDocumentationProvider().getQuickNavigateInfo(superClass, referenceElement); + assertNotNull(docInfo); + assertEquals(StringUtil.convertLineSeparators(htmlText.trim()), StringUtil.convertLineSeparators(docInfo.trim())); + } + private void doTestField() throws Exception { PsiClass psiClass = getTestClass(); PsiField field = psiClass.getFields() [0];