diff --git a/simple_language_plugin/src/test/java/org/intellij/sdk/language/SimpleCodeInsightTest.java b/simple_language_plugin/src/test/java/org/intellij/sdk/language/SimpleCodeInsightTest.java index 35fc0f525..fe489838c 100644 --- a/simple_language_plugin/src/test/java/org/intellij/sdk/language/SimpleCodeInsightTest.java +++ b/simple_language_plugin/src/test/java/org/intellij/sdk/language/SimpleCodeInsightTest.java @@ -4,8 +4,11 @@ package org.intellij.sdk.language; import com.intellij.application.options.CodeStyle; import com.intellij.codeInsight.completion.CompletionType; +import com.intellij.codeInsight.documentation.DocumentationManager; import com.intellij.codeInsight.generation.actions.CommentByLineCommentAction; +import com.intellij.lang.documentation.DocumentationProvider; import com.intellij.openapi.command.WriteCommandAction; +import com.intellij.psi.PsiElement; import com.intellij.psi.PsiReference; import com.intellij.psi.codeStyle.CodeStyleManager; import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase; @@ -84,4 +87,21 @@ public class SimpleCodeInsightTest extends LightJavaCodeInsightFixtureTestCase { assertEquals("https://en.wikipedia.org/", resolvedSimpleProperty.getValue()); } + public void testDocumentation() { + myFixture.configureByFiles("DocumentationTestData.java", "DocumentationTestData.simple"); + final PsiElement originalElement = myFixture.getElementAtCaret(); + PsiElement element = DocumentationManager + .getInstance(getProject()) + .findTargetElement(myFixture.getEditor(), originalElement.getContainingFile(), originalElement); + + if (element == null) { + element = originalElement; + } + + final DocumentationProvider documentationProvider = DocumentationManager.getProviderFromElement(element); + final String generateDoc = documentationProvider.generateDoc(element, originalElement); + assertNotNull(generateDoc); + assertSameLinesWithFile(getTestDataPath() + "/" + "DocumentationTest.html.expected", generateDoc); + } + } diff --git a/simple_language_plugin/src/test/testData/DocumentationTest.html.expected b/simple_language_plugin/src/test/testData/DocumentationTest.html.expected new file mode 100644 index 000000000..454fd78ee --- /dev/null +++ b/simple_language_plugin/src/test/testData/DocumentationTest.html.expected @@ -0,0 +1,2 @@ +
Simple Property
https://en.wikipedia.org/

Key:

website

Value:

https://en.wikipedia.org/

File:

DocumentationTestData.simple

Comment:

You are reading the ".properties" entry. + The exclamation mark can also mark text as comments.

\ No newline at end of file diff --git a/simple_language_plugin/src/test/testData/DocumentationTestData.java b/simple_language_plugin/src/test/testData/DocumentationTestData.java new file mode 100644 index 000000000..92c55dfd5 --- /dev/null +++ b/simple_language_plugin/src/test/testData/DocumentationTestData.java @@ -0,0 +1,5 @@ +public class Test { + public static void main(String[] args) { + System.out.println("simple:website"); + } +} diff --git a/simple_language_plugin/src/test/testData/DocumentationTestData.simple b/simple_language_plugin/src/test/testData/DocumentationTestData.simple new file mode 100644 index 000000000..f8c41324b --- /dev/null +++ b/simple_language_plugin/src/test/testData/DocumentationTestData.simple @@ -0,0 +1,4 @@ +# You are reading the ".properties" entry. +! The exclamation mark can also mark text as comments. +website = https://en.wikipedia.org/ +