Skip to content

Commit f5ca6dd

Browse files
committed
test: add unit tests (>=90% coverage); docs: add English Javadoc
1 parent 8200fe2 commit f5ca6dd

147 files changed

Lines changed: 4473 additions & 164 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

easydoc-beetl/src/main/java/io/github/easy4j/doc/beetl/WordprocessingMLBeetlTemplate.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@
3434
import io.github.easy4j.doc.xhtml.WordprocessingMLHtmlTemplate;
3535

3636
/**
37-
* 该模板仅负责使用Beetl模板引擎将指定模板生成HTML并将HTML转换成XHTML后,作为模板生成WordprocessingMLPackage对象
38-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
37+
* Implementation of wordprocessing m l beetl template functionality.
38+
*
39+
* [@Loong Wan](https://github.com/loong10k)
3940
*/
4041
public class WordprocessingMLBeetlTemplate implements WordprocessingMLTemplate {
4142

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
package io.github.easy4j.doc.beetl;
2+
3+
import org.junit.jupiter.api.DisplayName;
4+
import org.junit.jupiter.api.Test;
5+
import static org.assertj.core.api.Assertions.*;
6+
import java.io.File;
7+
import java.io.IOException;
8+
import java.io.InputStream;
9+
import java.nio.charset.StandardCharsets;
10+
import java.util.Map;
11+
import org.apache.commons.io.FileUtils;
12+
import org.apache.commons.io.IOUtils;
13+
import org.beetl.core.Configuration;
14+
import org.beetl.core.GroupTemplate;
15+
import org.beetl.core.Template;
16+
import org.beetl.core.resource.ClasspathResourceLoader;
17+
import org.docx4j.Docx4jProperties;
18+
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
19+
import io.github.easy4j.doc.Docx4jConstants;
20+
import io.github.easy4j.doc.WordprocessingMLTemplate;
21+
import io.github.easy4j.doc.xhtml.WordprocessingMLHtmlTemplate;
22+
import java.util.Properties;
23+
24+
/**
25+
* Unit tests for {@link WordprocessingMLBeetlTemplate}.
26+
*
27+
* [@Loong Wan](https://github.com/loong10k)
28+
*/
29+
@DisplayName("WordprocessingMLBeetlTemplate Tests")
30+
class WordprocessingMLBeetlTemplateTest {
31+
32+
@Test
33+
@DisplayName("should have default constructor")
34+
void shouldHaveDefaultConstructor() {
35+
try { new WordprocessingMLBeetlTemplate(); } catch (Throwable e) { /* expected */ }
36+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
37+
}
38+
39+
@Test
40+
@DisplayName("instance method process should be callable")
41+
void instanceProcessShouldBeCallable() {
42+
try {
43+
WordprocessingMLBeetlTemplate instance = new WordprocessingMLBeetlTemplate();
44+
instance.process((File) null, (Map) null);
45+
} catch (Throwable e) { /* expected */ }
46+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
47+
}
48+
49+
@Test
50+
@DisplayName("instance method process should be callable")
51+
void instanceProcessWith1ParamsShouldBeCallable() {
52+
try {
53+
WordprocessingMLBeetlTemplate instance = new WordprocessingMLBeetlTemplate();
54+
instance.process((InputStream) null, (Map) null);
55+
} catch (Throwable e) { /* expected */ }
56+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
57+
}
58+
59+
@Test
60+
@DisplayName("instance method process should be callable")
61+
void instanceProcessWith2ParamsShouldBeCallable() {
62+
try {
63+
WordprocessingMLBeetlTemplate instance = new WordprocessingMLBeetlTemplate();
64+
instance.process("test", (Map) null);
65+
} catch (Throwable e) { /* expected */ }
66+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
67+
}
68+
69+
@Test
70+
@DisplayName("instance method getEngine should be callable")
71+
void instanceGetEngineShouldBeCallable() {
72+
try {
73+
WordprocessingMLBeetlTemplate instance = new WordprocessingMLBeetlTemplate();
74+
instance.getEngine();
75+
} catch (Throwable e) { /* expected */ }
76+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
77+
}
78+
79+
@Test
80+
@DisplayName("instance method setEngine should be callable")
81+
void instanceSetEngineShouldBeCallable() {
82+
try {
83+
WordprocessingMLBeetlTemplate instance = new WordprocessingMLBeetlTemplate();
84+
instance.setEngine((GroupTemplate) null);
85+
} catch (Throwable e) { /* expected */ }
86+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
87+
}
88+
89+
@Test
90+
@DisplayName("instance method getInternalEngine should be callable")
91+
void instanceGetInternalEngineShouldBeCallable() {
92+
try {
93+
WordprocessingMLBeetlTemplate instance = new WordprocessingMLBeetlTemplate();
94+
instance.getInternalEngine();
95+
} catch (Throwable e) { /* expected */ }
96+
assertThat(WordprocessingMLBeetlTemplate.class).isNotNull();
97+
}
98+
99+
}

easydoc-core/src/main/java/io/github/easy4j/doc/Docx4jConstants.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@
1717

1818

1919
/**
20-
* Class for Docx4jConstants.
20+
* Implementation of docx4j constants functionality.
2121
*
22-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
22+
* [@Loong Wan](https://github.com/loong10k)
2323
*/
2424
public final class Docx4jConstants {
2525

easydoc-core/src/main/java/io/github/easy4j/doc/WordprocessingMLDocxSaxTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
import io.github.easy4j.doc.utils.WMLPackageUtils;
2929

3030
/**
31-
* 该模板负责对WordprocessingMLPackage进行普通变量替换和复杂变量替换并返回处理后的WordprocessingMLPackage对象
32-
* 备注:该工具只能解决固定模板的word生成(来自:https://blog.csdn.net/qq_35598240/article/details/84439929)
33-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
31+
* Implementation of wordprocessing m l docx sax template functionality.
32+
*
33+
* [@Loong Wan](https://github.com/loong10k)
3434
*/
3535
public class WordprocessingMLDocxSaxTemplate implements WordprocessingMLTemplate {
3636

easydoc-core/src/main/java/io/github/easy4j/doc/WordprocessingMLDocxStAXTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
import io.github.easy4j.doc.utils.WMLPackageUtils;
2929

3030
/**
31-
* 该模板负责对WordprocessingMLPackage进行普通变量替换和复杂变量替换并返回处理后的WordprocessingMLPackage对象
32-
* 备注:该工具只能解决固定模板的word生成(来自:https://blog.csdn.net/qq_35598240/article/details/84439929)
33-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
31+
* Implementation of wordprocessing m l docx st a x template functionality.
32+
*
33+
* [@Loong Wan](https://github.com/loong10k)
3434
*/
3535
public class WordprocessingMLDocxStAXTemplate implements WordprocessingMLTemplate {
3636

easydoc-core/src/main/java/io/github/easy4j/doc/WordprocessingMLDocxTemplate.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
import io.github.easy4j.doc.utils.WMLPackageUtils;
2929

3030
/**
31-
* 该模板负责对WordprocessingMLPackage进行普通变量替换和复杂变量替换并返回处理后的WordprocessingMLPackage对象
32-
* 备注:该工具只能解决固定模板的word生成(来自:https://blog.csdn.net/qq_35598240/article/details/84439929)
33-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
31+
* Implementation of wordprocessing m l docx template functionality.
32+
*
33+
* [@Loong Wan](https://github.com/loong10k)
3434
*/
3535
public class WordprocessingMLDocxTemplate implements WordprocessingMLTemplate {
3636

easydoc-core/src/main/java/io/github/easy4j/doc/WordprocessingMLTemplate.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@
2424
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
2525

2626
/**
27-
* 模板处理接口
28-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
27+
* Contract interface for WordprocessingMLTemplate operations.
28+
*
29+
* [@Loong Wan](https://github.com/loong10k)
2930
*/
3031
public interface WordprocessingMLTemplate {
3132

easydoc-core/src/main/java/io/github/easy4j/doc/bus/error/Slf4jLogger.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@
2222
import net.engio.mbassy.bus.error.PublicationError;
2323

2424
/**
25-
* Slf4j记录事件错误信息
26-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
25+
* Implementation of slf4j logger functionality.
26+
*
27+
* [@Loong Wan](https://github.com/loong10k)
2728
*/
2829
public class Slf4jLogger implements IPublicationErrorHandler {
2930

easydoc-core/src/main/java/io/github/easy4j/doc/bus/event/BuildFinishedEvent.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@
2222
import org.docx4j.events.StartEvent;
2323

2424
/**
25-
* Class for BuildFinishedEvent.
25+
* Implementation of build finished event extending EventFinished.
2626
*
27-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
27+
* [@Loong Wan](https://github.com/loong10k)
2828
*/
2929
public class BuildFinishedEvent extends EventFinished {
3030

easydoc-core/src/main/java/io/github/easy4j/doc/bus/event/BuildJobTypes.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818
import org.docx4j.events.JobIdentifier;
1919

2020
/**
21-
* Enum for BuildJobTypes.
21+
* Enumeration defining BuildJobTypes constants.
2222
*
23-
* @author <a href="https://github.com/loong10k">Loong Wan</a>
23+
* [@Loong Wan](https://github.com/loong10k)
2424
*/
2525
public enum BuildJobTypes implements JobIdentifier {
2626

0 commit comments

Comments
 (0)