Feat doc provider test case (#467)

* Add test-case for DocumentationProvider
* Remove non-relevant parts from .simple file for Documentation test
This commit is contained in:
Patrick Scheibe 2021-07-09 03:41:00 +02:00 committed by GitHub
parent 615bec38ce
commit cbc681cb93
4 changed files with 31 additions and 0 deletions

View File

@ -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);
}
}

View File

@ -0,0 +1,2 @@
<div class='definition'><pre>Simple Property</pre></div><div class='content'>https://en.wikipedia.org/</div><table class='sections'><tr><td valign='top' class='section'><p>Key:</td><td valign='top'><p>website</td><tr><td valign='top' class='section'><p>Value:</td><td valign='top'><p>https://en.wikipedia.org/</td><tr><td valign='top' class='section'><p>File:</td><td valign='top'><p>DocumentationTestData.simple</td><tr><td valign='top' class='section'><p>Comment:</td><td valign='top'><p>You are reading the ".properties" entry.
The exclamation mark can also mark text as comments.</td></table>

View File

@ -0,0 +1,5 @@
public class Test {
public static void main(String[] args) {
System.out.println("simple:website<caret>");
}
}

View File

@ -0,0 +1,4 @@
# You are reading the ".properties" entry.
! The exclamation mark can also mark text as comments.
website = https://en.wikipedia.org/