1
2
3
4
5
6
7
8 package com.github.hazendaz.maven.xml_format_maven_plugin;
9
10 import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
11
12 import java.lang.reflect.Field;
13
14 import org.junit.jupiter.api.Test;
15
16
17 class HelpMojoTest {
18
19 @Test
20 void executeSupportsDetailedOutputWithInvalidSizing() {
21 final HelpMojo mojo = new HelpMojo();
22 setField(mojo, "detail", true);
23 setField(mojo, "lineLength", 0);
24 setField(mojo, "indentSize", 0);
25
26 assertDoesNotThrow(mojo::execute);
27 }
28
29 @Test
30 void executeSupportsSpecificGoalOutput() {
31 final HelpMojo mojo = new HelpMojo();
32 setField(mojo, "detail", true);
33 setField(mojo, "goal", "check");
34
35 assertDoesNotThrow(mojo::execute);
36 }
37
38 @Test
39 void executeSupportsUnknownGoalWithoutFailure() {
40 final HelpMojo mojo = new HelpMojo();
41 setField(mojo, "goal", "unknown-goal");
42
43 assertDoesNotThrow(mojo::execute);
44 }
45
46 private static void setField(final HelpMojo mojo, final String fieldName, final Object value) {
47 try {
48 final Field field = HelpMojo.class.getDeclaredField(fieldName);
49 field.setAccessible(true);
50 field.set(mojo, value);
51 } catch (final ReflectiveOperationException ex) {
52 throw new IllegalStateException(ex);
53 }
54 }
55 }