aboutsummaryrefslogtreecommitdiffstats
path: root/javaparser-testing/src/test/java/com/github/javaparser/javadoc/JavadocTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'javaparser-testing/src/test/java/com/github/javaparser/javadoc/JavadocTest.java')
-rw-r--r--javaparser-testing/src/test/java/com/github/javaparser/javadoc/JavadocTest.java138
1 files changed, 138 insertions, 0 deletions
diff --git a/javaparser-testing/src/test/java/com/github/javaparser/javadoc/JavadocTest.java b/javaparser-testing/src/test/java/com/github/javaparser/javadoc/JavadocTest.java
new file mode 100644
index 000000000..7377dfb86
--- /dev/null
+++ b/javaparser-testing/src/test/java/com/github/javaparser/javadoc/JavadocTest.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright (C) 2007-2010 JĂșlio Vilmar Gesser.
+ * Copyright (C) 2011, 2013-2016 The JavaParser Team.
+ *
+ * This file is part of JavaParser.
+ *
+ * JavaParser can be used either under the terms of
+ * a) the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * b) the terms of the Apache License
+ *
+ * You should have received a copy of both licenses in LICENCE.LGPL and
+ * LICENCE.APACHE. Please refer to those files for details.
+ *
+ * JavaParser is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ */
+
+package com.github.javaparser.javadoc;
+
+import com.github.javaparser.JavaParser;
+import com.github.javaparser.ast.comments.JavadocComment;
+import com.github.javaparser.javadoc.description.JavadocDescription;
+import com.github.javaparser.javadoc.description.JavadocDescriptionElement;
+import com.github.javaparser.javadoc.description.JavadocInlineTag;
+import org.junit.Test;
+
+import static com.github.javaparser.utils.Utils.EOL;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+public class JavadocTest {
+
+ @Test
+ public void toTextForEmptyJavadoc() {
+ Javadoc javadoc = new Javadoc(new JavadocDescription());
+ assertEquals("", javadoc.toText());
+ }
+
+ @Test
+ public void toTextForJavadocWithTwoLinesOfJustDescription() {
+ Javadoc javadoc = new Javadoc(JavadocDescription.parseText("first line" + EOL + "second line"));
+ assertEquals("first line" + EOL + "second line" + EOL, javadoc.toText());
+ }
+
+ @Test
+ public void toTextForJavadocWithTwoLinesOfJustDescriptionAndOneBlockTag() {
+ Javadoc javadoc = new Javadoc(JavadocDescription.parseText("first line" + EOL + "second line"));
+ javadoc.addBlockTag("foo", "something useful");
+ assertEquals("first line" + EOL + "second line" + EOL + EOL + "@foo something useful" + EOL, javadoc.toText());
+ }
+
+ @Test
+ public void toCommentForEmptyJavadoc() {
+ Javadoc javadoc = new Javadoc(new JavadocDescription());
+ assertEquals(new JavadocComment("" + EOL + "\t\t "), javadoc.toComment("\t\t"));
+ }
+
+ @Test
+ public void toCommentorJavadocWithTwoLinesOfJustDescription() {
+ Javadoc javadoc = new Javadoc(JavadocDescription.parseText("first line" + EOL + "second line"));
+ assertEquals(new JavadocComment("" + EOL + "\t\t * first line" + EOL + "\t\t * second line" + EOL + "\t\t "), javadoc.toComment("\t\t"));
+ }
+
+ @Test
+ public void toCommentForJavadocWithTwoLinesOfJustDescriptionAndOneBlockTag() {
+ Javadoc javadoc = new Javadoc(JavadocDescription.parseText("first line" + EOL + "second line"));
+ javadoc.addBlockTag("foo", "something useful");
+ assertEquals(new JavadocComment("" + EOL + "\t\t * first line" + EOL + "\t\t * second line" + EOL + "\t\t * " + EOL + "\t\t * @foo something useful" + EOL + "\t\t "), javadoc.toComment("\t\t"));
+ }
+
+ @Test
+ public void descriptionAndBlockTagsAreRetrievable() {
+ Javadoc javadoc = JavaParser.parseJavadoc("first line" + EOL + "second line" + EOL + EOL + "@param node a node" + EOL + "@return result the result");
+ assertEquals("first line" + EOL + "second line", javadoc.getDescription().toText());
+ assertEquals(2, javadoc.getBlockTags().size());
+ }
+
+ @Test
+ public void inlineTagsAreParsable() {
+ String docText =
+ "Returns the {@link TOFilename}s of all files that existed during the requested" + EOL +
+ "{@link TOVersion}." + EOL +
+ "" + EOL +
+ "@param versionID the id of the {@link TOVersion}." + EOL +
+ "@return the filenames" + EOL +
+ "@throws InvalidIDException if the {@link IPersistence} doesn't recognize the given versionID." + EOL;
+ String javadoc = JavaParser.parseJavadoc(docText).toText();
+ assertTrue(javadoc.contains("{@link TOVersion}"));
+ }
+
+ @Test
+ public void emptyLinesBetweenBlockTagsGetsFiltered() {
+ String comment = " * The type of the Object to be mapped." + EOL +
+ " * This interface maps the given Objects to existing ones in the database and" + EOL +
+ " * saves them." + EOL +
+ " * " + EOL +
+ " * @author censored" + EOL +
+ " * " + EOL +
+ " * @param <T>" + EOL;
+ Javadoc javadoc = JavaParser.parseJavadoc(comment);
+ assertEquals(2, javadoc.getBlockTags().size());
+ }
+
+ @Test
+ public void blockTagModificationWorks() {
+ Javadoc javadoc = new Javadoc(new JavadocDescription());
+
+ assertEquals(0, javadoc.getBlockTags().size());
+ JavadocBlockTag blockTag = new JavadocBlockTag(JavadocBlockTag.Type.RETURN, "a value");
+ javadoc.addBlockTag(blockTag);
+
+ assertEquals(1, javadoc.getBlockTags().size());
+ assertEquals(blockTag, javadoc.getBlockTags().get(0));
+
+ assertEquals(blockTag, javadoc.getBlockTags().remove(0));
+ assertEquals(0, javadoc.getBlockTags().size());
+ }
+
+ @Test
+ public void descriptionModificationWorks() {
+ JavadocDescription description = new JavadocDescription();
+
+ assertEquals(0, description.getElements().size());
+
+ JavadocDescriptionElement inlineTag = new JavadocInlineTag("inheritDoc", JavadocInlineTag.Type.INHERIT_DOC, "");
+ assertTrue(description.addElement(inlineTag));
+
+ assertEquals(1, description.getElements().size());
+ assertEquals(inlineTag, description.getElements().get(0));
+
+ assertEquals(inlineTag, description.getElements().remove(0));
+ assertEquals(0, description.getElements().size());
+ }
+}