You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by sg...@apache.org on 2020/02/11 05:39:34 UTC

[freemarker-generator] branch FREEMARKER-129 updated: FREEMARKER-129 Improve tests and Maven build

This is an automated email from the ASF dual-hosted git repository.

sgoeschl pushed a commit to branch FREEMARKER-129
in repository https://gitbox.apache.org/repos/asf/freemarker-generator.git


The following commit(s) were added to refs/heads/FREEMARKER-129 by this push:
     new 394756b  FREEMARKER-129 Improve tests and Maven build
394756b is described below

commit 394756b1ad06a9467c491552dbbadcdc1a8de2d7
Author: Siegfried Goeschl <si...@gmail.com>
AuthorDate: Tue Feb 11 06:39:18 2020 +0100

    FREEMARKER-129 Improve tests and Maven build
---
 freemarker-generator-base/pom.xml                  |  2 +-
 .../generator/base/document/Document.java          |  3 +-
 .../generator/base/util/LocaleUtils.java           |  2 --
 .../generator/document/DocumentFactoryTest.java    |  2 +-
 .../generator/document/DocumentTest.java           | 37 ++++++++++++++++++++--
 .../generator/document/DocumentsSupplierTest.java  |  2 +-
 .../generator/document/DocumentsTest.java          | 29 +++++++++++------
 freemarker-generator-cli/pom.xml                   |  2 +-
 freemarker-generator-maven-plugin/pom.xml          |  4 +--
 freemarker-generator-tools/pom.xml                 |  2 +-
 .../generator/tools/jsonpath/JsonPathToolTest.java | 27 +++++++++++++---
 pom.xml                                            | 18 +++++++++--
 12 files changed, 100 insertions(+), 30 deletions(-)

diff --git a/freemarker-generator-base/pom.xml b/freemarker-generator-base/pom.xml
index e67c1a3..9d33aa9 100644
--- a/freemarker-generator-base/pom.xml
+++ b/freemarker-generator-base/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.apache.freemarker.generator</groupId>
-        <artifactId>parent</artifactId>
+        <artifactId>freemarker-generator</artifactId>
         <version>0.1.0-SNAPSHOT</version>
     </parent>
 
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java
index 6d9959d..263f71b 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/document/Document.java
@@ -167,8 +167,7 @@ public class Document implements Closeable {
 
     /**
      * Returns an Iterator for the lines in an <code>InputStream</code>, using
-     * the character encoding specified. The caller is responsible to close
-     * the line iterator.
+     * the character encoding specified.
      *
      * @param charsetName The name of the requested charset
      * @return line iterator
diff --git a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java
index e7a3fc2..0131568 100644
--- a/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java
+++ b/freemarker-generator-base/src/main/java/org/apache/freemarker/generator/base/util/LocaleUtils.java
@@ -16,8 +16,6 @@
  */
 package org.apache.freemarker.generator.base.util;
 
-import org.apache.freemarker.generator.base.util.StringUtils;
-
 import java.util.Locale;
 
 public class LocaleUtils {
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java
index 35fb4e4..21f7061 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentFactoryTest.java
@@ -45,7 +45,7 @@ public class DocumentFactoryTest {
         assertEquals(ANY_FILE_NAME, document.getName());
         assertEquals(UTF_8, document.getCharset());
         assertEquals(ANY_FILE.getAbsolutePath(), document.getLocation());
-        assertTrue(document.getLines().size() > 0);
+        assertTrue(!document.getLines().isEmpty());
     }
 
     @Test
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java
index bc343fa..468f431 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentTest.java
@@ -21,6 +21,7 @@ import org.apache.freemarker.generator.base.document.Document;
 import org.apache.freemarker.generator.base.document.DocumentFactory;
 import org.junit.Test;
 
+import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
 import java.nio.charset.Charset;
@@ -62,7 +63,7 @@ public class DocumentTest {
 
     @Test
     public void shouldSupportLineIterator() throws IOException {
-        try (Document document = DocumentFactory.create("test", ANY_TEXT)) {
+        try (Document document = textDocument()) {
             try (LineIterator iterator = document.getLineIterator(ANY_CHAR_SET.name())) {
                 assertEquals(1, count(iterator));
             }
@@ -71,7 +72,7 @@ public class DocumentTest {
 
     @Test
     public void shouldReadLines() throws IOException {
-        try (Document document = DocumentFactory.create("test", ANY_TEXT)) {
+        try (Document document = textDocument()) {
             assertEquals(1, document.getLines().size());
             assertEquals(ANY_TEXT, document.getLines().get(0));
         }
@@ -79,11 +80,23 @@ public class DocumentTest {
 
     @Test
     public void shouldGetBytes() throws IOException {
-        try (Document document = DocumentFactory.create("test", ANY_TEXT)) {
+        try (Document document = textDocument()) {
             assertEquals(11, document.getBytes().length);
         }
     }
 
+    @Test
+    public void shouldCloseDocument() {
+        final Document document = textDocument();
+        final TestClosable closable1 = document.addClosable(new TestClosable());
+        final TestClosable closable2 = document.addClosable(new TestClosable());
+
+        document.close();
+
+        assertTrue(closable1.isClosed());
+        assertTrue(closable2.isClosed());
+    }
+
     private static int count(Iterator<String> iterator) {
         int count = 0;
         while (iterator.hasNext()) {
@@ -92,4 +105,22 @@ public class DocumentTest {
         }
         return count;
     }
+
+    private static Document textDocument() {
+        return DocumentFactory.create("stdin", ANY_TEXT);
+    }
+
+    private static final class TestClosable implements Closeable {
+
+        private boolean closed = false;
+
+        @Override
+        public void close() throws IOException {
+            closed = true;
+        }
+
+        public boolean isClosed() {
+            return closed;
+        }
+    }
 }
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java
index 16385b2..28c601b 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsSupplierTest.java
@@ -76,7 +76,7 @@ public class DocumentsSupplierTest {
     @Test
     public void shouldResolveLargeDirectory() {
         final List<Document> documents = supplier(".", null).get();
-        assertTrue(documents.size() > 0);
+        assertTrue(!documents.isEmpty());
     }
 
     @Test(expected = RuntimeException.class)
diff --git a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java
index 496a594..640cc12 100644
--- a/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java
+++ b/freemarker-generator-base/src/test/java/org/apache/freemarker/generator/document/DocumentsTest.java
@@ -28,6 +28,7 @@ import java.net.URL;
 import static java.nio.charset.StandardCharsets.UTF_8;
 import static java.util.Arrays.asList;
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 
 public class DocumentsTest {
@@ -66,6 +67,24 @@ public class DocumentsTest {
         assertNotNull(documents().get(ANY_FILE_NAME));
     }
 
+    @Test
+    public void shouldGetAllDocuments() {
+        final Documents documents = documents();
+
+        assertEquals("unknown", documents().get(0).getName());
+        assertEquals("pom.xml", documents().get(1).getName());
+        assertEquals("url", documents().get(2).getName());
+        assertEquals("unknown", documents().getFirst().getName());
+        assertEquals(3, documents.getList().size());
+        assertEquals(3, documents.size());
+        assertFalse(documents.isEmpty());
+    }
+
+    @Test
+    public void shouldGetNames() {
+        assertEquals(asList("unknown", "pom.xml", "url"), documents().getNames());
+    }
+
     @Test(expected = IllegalArgumentException.class)
     public void shouldThrowExceptionWhenGetDoesNotFindDocument() {
         documents().get("file-does-not-exist");
@@ -76,16 +95,6 @@ public class DocumentsTest {
         documents().get("*");
     }
 
-    @Test
-    public void shouldGetAllDocuments() {
-        assertEquals(3, documents().getList().size());
-    }
-
-    @Test
-    public void shouldGetNames() {
-        assertEquals(asList("unknown", "pom.xml", "url"), documents().getNames());
-    }
-
     private static Documents documents() {
         return new Documents(asList(textDocument(), fileDocument(), urlDocument()));
     }
diff --git a/freemarker-generator-cli/pom.xml b/freemarker-generator-cli/pom.xml
index 520a00b..8b4413f 100644
--- a/freemarker-generator-cli/pom.xml
+++ b/freemarker-generator-cli/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.apache.freemarker.generator</groupId>
-        <artifactId>parent</artifactId>
+        <artifactId>freemarker-generator</artifactId>
         <version>0.1.0-SNAPSHOT</version>
     </parent>
 
diff --git a/freemarker-generator-maven-plugin/pom.xml b/freemarker-generator-maven-plugin/pom.xml
index a17ddc9..a2cdf5f 100644
--- a/freemarker-generator-maven-plugin/pom.xml
+++ b/freemarker-generator-maven-plugin/pom.xml
@@ -4,7 +4,7 @@
 
     <parent>
         <groupId>org.apache.freemarker.generator</groupId>
-        <artifactId>parent</artifactId>
+        <artifactId>freemarker-generator</artifactId>
         <version>0.1.0-SNAPSHOT</version>
     </parent>
 
@@ -153,7 +153,7 @@
                             <targetPercentage>${clover-target-percentage}</targetPercentage>
                             <generateHtml>true</generateHtml>
                             <generateXml>true</generateXml>
-                            <jdk>${target-jdk-version}</jdk>
+                            <jdk>${maven.compiler.source}</jdk>
                         </configuration>
                     </execution>
                 </executions>
diff --git a/freemarker-generator-tools/pom.xml b/freemarker-generator-tools/pom.xml
index 4b67e50..0a9ecd6 100644
--- a/freemarker-generator-tools/pom.xml
+++ b/freemarker-generator-tools/pom.xml
@@ -21,7 +21,7 @@
 
     <parent>
         <groupId>org.apache.freemarker.generator</groupId>
-        <artifactId>parent</artifactId>
+        <artifactId>freemarker-generator</artifactId>
         <version>0.1.0-SNAPSHOT</version>
     </parent>
 
diff --git a/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/jsonpath/JsonPathToolTest.java b/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/jsonpath/JsonPathToolTest.java
index 3d9d8d0..aaed1b5 100644
--- a/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/jsonpath/JsonPathToolTest.java
+++ b/freemarker-generator-tools/src/test/java/org/apache/freemarker/generator/tools/jsonpath/JsonPathToolTest.java
@@ -47,16 +47,35 @@ public class JsonPathToolTest {
             "   ]\n" +
             "}";
 
+    private static final String JSON_WITH_COMMENTS = "{\n" +
+            "    // Single line comment\n" +
+            "    \"fruit\": \"Apple\",\n" +
+            "    \"size\": \"Large\",\n" +
+            "    \"color\": \"Red\"\n" +
+            "}";
+
     @Test
     public void shallParseJsonObject() {
-        assertEquals(parse(JSON_OBJECT_STRING).read("$.language"), "Python");
-        assertEquals(parse(JSON_OBJECT_STRING).read("$['language']"), "Python");
+        final DocumentContext json = parse(JSON_OBJECT_STRING);
+
+        assertEquals(json.read("$.language"), "Python");
+        assertEquals(json.read("$['language']"), "Python");
     }
 
     @Test
     public void shallParseJsonArray() {
-        assertEquals(parse(JSON_ARRAY_STRING).read("$.eBooks[0].language"), "Pascal");
-        assertEquals(parse(JSON_ARRAY_STRING).read("$['eBooks'][0]['language']"), "Pascal");
+        final DocumentContext json = parse(JSON_ARRAY_STRING);
+
+        assertEquals(json.read("$.eBooks[0].language"), "Pascal");
+        assertEquals(json.read("$['eBooks'][0]['language']"), "Pascal");
+    }
+
+    @Test
+    public void failsToParseJsonComments() {
+        final DocumentContext json = parse(JSON_WITH_COMMENTS);
+
+        assertNull(json.read("$.fruit"));
+        assertEquals("Large", json.read("$.size"));
     }
 
     @Test
diff --git a/pom.xml b/pom.xml
index 85a9340..ee52da6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -9,7 +9,7 @@
     </parent>
 
     <groupId>org.apache.freemarker.generator</groupId>
-    <artifactId>parent</artifactId>
+    <artifactId>freemarker-generator</artifactId>
     <packaging>pom</packaging>
     <version>0.1.0-SNAPSHOT</version>
     <name>Apache FreeMarker Generator: Parent</name>
@@ -61,7 +61,6 @@
         <maven.compiler.source>1.8</maven.compiler.source>
         <maven.compiler.target>1.8</maven.compiler.target>
         <freemarker.version>2.3.29</freemarker.version>
-        <target-jdk-version>1.8</target-jdk-version>
     </properties>
 
     <developers>
@@ -189,4 +188,19 @@
             </plugin>
         </plugins>
     </build>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-pmd-plugin</artifactId>
+                <configuration>
+                    <linkXRef>false</linkXRef>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
 </project>
\ No newline at end of file