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

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


The following commit(s) were added to refs/heads/master by this push:
     new 5bb2ca6  Improve examples, unit tests and documentation
5bb2ca6 is described below

commit 5bb2ca670d0ef7efb16a0f7ed68fe088e1a405e9
Author: Siegfried Goeschl <[email protected]>
AuthorDate: Sun May 3 12:57:55 2020 +0200

    Improve examples, unit tests and documentation
---
 freemarker-generator-cli/README.md                 |  2 +
 .../org/apache/freemarker/generator/cli/Main.java  |  6 +-
 .../freemarker/generator/cli/ExamplesTest.java     |  2 +
 .../freemarker/generator/cli/PicocliTest.java      | 71 +++++++++++++---------
 4 files changed, 50 insertions(+), 31 deletions(-)

diff --git a/freemarker-generator-cli/README.md 
b/freemarker-generator-cli/README.md
index bd9ec0e..587dadb 100644
--- a/freemarker-generator-cli/README.md
+++ b/freemarker-generator-cli/README.md
@@ -1116,9 +1116,11 @@ Sometimes we simply need to transform a JSON into an 
equivalent YAML or the othe
 ```
 > ./bin/freemarker-cli -t templates/yaml/json/transform.ftl 
 > site/sample/yaml/swagger-spec.yaml 
 > ./bin/freemarker-cli -i 
 > '${GsonTool.toJson(YamlTool.parse(DataSources.get(0)))}' 
 > site/sample/yaml/swagger-spec.yaml
+> ./bin/freemarker-cli -i '${GsonTool.toJson(yaml)}' -m 
yaml=site/sample/yaml/swagger-spec.yaml
 
 > ./bin/freemarker-cli -t templates/json/yaml/transform.ftl 
 > site/sample/json/swagger-spec.json
 > ./bin/freemarker-cli -i 
 > '${YamlTool.toYaml(GsonTool.parse(DataSources.get(0)))}' 
 > site/sample/json/swagger-spec.json
+> ./bin/freemarker-cli -i '${YamlTool.toYaml(json)}' -m 
json=site/sample/json/swagger-spec.json
 ```
 
 ## 6.16 Using Advanced FreeMarker Features
diff --git 
a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
 
b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
index fa2cd12..eda635e 100644
--- 
a/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
+++ 
b/freemarker-generator-cli/src/main/java/org/apache/freemarker/generator/cli/Main.java
@@ -60,12 +60,12 @@ public class Main implements Callable<Integer> {
     @ArgGroup(multiplicity = "1")
     TemplateSourceOptions templateSourceOptions;
 
-    static final class TemplateSourceOptions {
+    public static final class TemplateSourceOptions {
         @Option(names = { "-t", "--template" }, description = "FreeMarker 
template to render")
-        private String template;
+        public String template;
 
         @Option(names = { "-i", "--interactive" }, description = "Interactive 
FreeMarker template")
-        private String interactiveTemplate;
+        public String interactiveTemplate;
     }
 
     @Option(names = { "-b", "--basedir" }, description = "Optional template 
base directory")
diff --git 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java
 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java
index 147a2d7..fedc66c 100644
--- 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java
+++ 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/ExamplesTest.java
@@ -108,7 +108,9 @@ public class ExamplesTest extends AbstractMainTest {
         assertValid(execute("-i 
${XmlTool.parse(DataSources.first)[\"recipients/person[1]/name\"]} 
site/sample/xml/recipients.xml"));
         assertValid(execute("-i 
${JsoupTool.parse(DataSources.first).select(\"a\")[0]} 
site/sample/html/dependencies.html"));
         assertValid(execute("-i 
${GsonTool.toJson(YamlTool.parse(DataSources.get(0)))} 
site/sample/yaml/swagger-spec.yaml"));
+        assertValid(execute("-i ${GsonTool.toJson(yaml)} -m 
yaml=site/sample/yaml/swagger-spec.yaml"));
         assertValid(execute("-i 
${YamlTool.toYaml(GsonTool.parse(DataSources.get(0)))} 
site/sample/json/swagger-spec.json"));
+        assertValid(execute("-i ${YamlTool.toYaml(json)} -m 
json=site/sample/json/swagger-spec.json"));
     }
 
     @Test
diff --git 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
index d465fd0..57f2844 100644
--- 
a/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
+++ 
b/freemarker-generator-cli/src/test/java/org/apache/freemarker/generator/cli/PicocliTest.java
@@ -24,42 +24,43 @@ import static org.junit.Assert.assertNull;
 
 public class PicocliTest {
 
-    private static final String TEMPLATE = "template.ftl";
+    private static final String ANY_TEMPLATE = "any.ftl";
+    private static final String OTHER_TEMPLATE = "other.ftl";
+    private static final String INTERACTIVE_TEMPLATE = "interactive-template";
     private static final String ANY_FILE = "users.csv";
-    private static final String ANY_NAMED_FILE = "users=users.csv";
     private static final String OTHER_FILE = "transctions.csv";
     private static final String ANY_FILE_URI = "file:///users.csv";
     private static final String OTHER_FILE_URI = "file:///transctions.csv";
 
     @Test
-    public void testSinglePositionalParameter() {
-        assertEquals(ANY_FILE_URI, parse("-t", TEMPLATE, 
ANY_FILE_URI).sources.get(0));
-        assertNull(ANY_FILE, parse("-t", TEMPLATE, ANY_FILE_URI).dataSources);
+    public void shouldParseSinglePositionalParameter() {
+        assertEquals(ANY_FILE_URI, parse("-t", ANY_TEMPLATE, 
ANY_FILE_URI).sources.get(0));
+        assertNull(ANY_FILE, parse("-t", ANY_TEMPLATE, 
ANY_FILE_URI).dataSources);
     }
 
     @Test
-    public void testMultiplePositionalParameter() {
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, ANY_FILE, 
OTHER_FILE).sources.get(0));
-        assertEquals(OTHER_FILE, parse("-t", TEMPLATE, ANY_FILE, 
OTHER_FILE).sources.get(1));
+    public void shouldParseMultiplePositionalParameter() {
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, ANY_FILE, 
OTHER_FILE).sources.get(0));
+        assertEquals(OTHER_FILE, parse("-t", ANY_TEMPLATE, ANY_FILE, 
OTHER_FILE).sources.get(1));
 
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, ANY_FILE, 
OTHER_FILE_URI).sources.get(0));
-        assertEquals(OTHER_FILE_URI, parse("-t", TEMPLATE, ANY_FILE, 
OTHER_FILE_URI).sources.get(1));
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, ANY_FILE, 
OTHER_FILE_URI).sources.get(0));
+        assertEquals(OTHER_FILE_URI, parse("-t", ANY_TEMPLATE, ANY_FILE, 
OTHER_FILE_URI).sources.get(1));
 
-        assertEquals(ANY_FILE_URI, parse("-t", TEMPLATE, ANY_FILE_URI, 
OTHER_FILE_URI).sources.get(0));
-        assertEquals(OTHER_FILE_URI, parse("-t", TEMPLATE, ANY_FILE_URI, 
OTHER_FILE_URI).sources.get(1));
+        assertEquals(ANY_FILE_URI, parse("-t", ANY_TEMPLATE, ANY_FILE_URI, 
OTHER_FILE_URI).sources.get(0));
+        assertEquals(OTHER_FILE_URI, parse("-t", ANY_TEMPLATE, ANY_FILE_URI, 
OTHER_FILE_URI).sources.get(1));
     }
 
     @Test
-    public void testSingleNamedDataSource() {
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, ANY_FILE).sources.get(0));
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, "-s", 
ANY_FILE).dataSources.get(0));
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, "--data-source", 
ANY_FILE).dataSources.get(0));
-        assertEquals(ANY_FILE_URI, parse("-t", TEMPLATE, "--data-source", 
ANY_FILE_URI).dataSources.get(0));
+    public void shouldParseSingleNamedDataSource() {
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, 
ANY_FILE).sources.get(0));
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, "-s", 
ANY_FILE).dataSources.get(0));
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, "--data-source", 
ANY_FILE).dataSources.get(0));
+        assertEquals(ANY_FILE_URI, parse("-t", ANY_TEMPLATE, "--data-source", 
ANY_FILE_URI).dataSources.get(0));
     }
 
     @Test
-    public void testMultipleNamedDataSource() {
-        final Main main = parse("-t", TEMPLATE, "-s", ANY_FILE, 
"--data-source", OTHER_FILE_URI);
+    public void shouldParseMultipleNamedDataSource() {
+        final Main main = parse("-t", ANY_TEMPLATE, "-s", ANY_FILE, 
"--data-source", OTHER_FILE_URI);
 
         assertEquals(ANY_FILE, main.dataSources.get(0));
         assertEquals(OTHER_FILE_URI, main.dataSources.get(1));
@@ -67,14 +68,14 @@ public class PicocliTest {
     }
 
     @Test
-    public void testSingleDataModel() {
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, "-m", 
ANY_FILE).dataModels.get(0));
-        assertEquals(ANY_FILE, parse("-t", TEMPLATE, "--data-model", 
ANY_FILE).dataModels.get(0));
+    public void shouldParseSingleDataModel() {
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, "-m", 
ANY_FILE).dataModels.get(0));
+        assertEquals(ANY_FILE, parse("-t", ANY_TEMPLATE, "--data-model", 
ANY_FILE).dataModels.get(0));
     }
 
     @Test
-    public void testMultipleDataModels() {
-        final Main main = parse("-t", TEMPLATE, "-m", ANY_FILE, 
"--data-model", OTHER_FILE_URI);
+    public void shouldParseMultipleDataModels() {
+        final Main main = parse("-t", ANY_TEMPLATE, "-m", ANY_FILE, 
"--data-model", OTHER_FILE_URI);
 
         assertEquals(ANY_FILE, main.dataModels.get(0));
         assertEquals(OTHER_FILE_URI, main.dataModels.get(1));
@@ -82,20 +83,34 @@ public class PicocliTest {
     }
 
     @Test
-    public void testSingleParameter() {
-        final Main main = parse("-t", TEMPLATE, "-P", "name:group=value");
+    public void shouldParseSingleParameter() {
+        final Main main = parse("-t", ANY_TEMPLATE, "-P", "name:group=value");
 
         assertEquals("value", main.parameters.get("name:group"));
     }
 
     @Test
-    public void testMultipleParameters() {
-        final Main main = parse("-t", TEMPLATE, "-P", "name1:group=value1", 
"-P", "name2:group=value2");
+    public void shouldParseMultipleParameters() {
+        final Main main = parse("-t", ANY_TEMPLATE, "-P", 
"name1:group=value1", "-P", "name2:group=value2");
 
         assertEquals("value1", main.parameters.get("name1:group"));
         assertEquals("value2", main.parameters.get("name2:group"));
     }
 
+    @Test
+    public void shouldParseSingleTemplate() {
+        final Main main = parse("-t", ANY_TEMPLATE);
+
+        assertEquals(ANY_TEMPLATE, main.templateSourceOptions.template);
+    }
+
+    @Test
+    public void shouldParseInteractiveTemplate() {
+        final Main main = parse("-i", INTERACTIVE_TEMPLATE);
+
+        assertEquals(INTERACTIVE_TEMPLATE, 
main.templateSourceOptions.interactiveTemplate);
+    }
+
     private static Main parse(String... args) {
         final Main main = new Main();
         new CommandLine(main).parseArgs(args);

Reply via email to