This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-cli.git
The following commit(s) were added to refs/heads/master by this push:
new 82403d0 [CLI-287] Allow whitespace-only header and footer (#26)
82403d0 is described below
commit 82403d07579665a0c194a638425ac24e08581ac2
Author: Jakub Nowak <[email protected]>
AuthorDate: Fri Oct 22 16:24:09 2021 +0200
[CLI-287] Allow whitespace-only header and footer (#26)
* [CLI-287] Allow whitespace-only header and footer
* [CLI-287] Add tests
---
.../java/org/apache/commons/cli/HelpFormatter.java | 4 +-
.../org/apache/commons/cli/HelpFormatterTest.java | 56 ++++++++++++++++++++++
2 files changed, 58 insertions(+), 2 deletions(-)
diff --git a/src/main/java/org/apache/commons/cli/HelpFormatter.java
b/src/main/java/org/apache/commons/cli/HelpFormatter.java
index 694ff03..81cc03c 100644
--- a/src/main/java/org/apache/commons/cli/HelpFormatter.java
+++ b/src/main/java/org/apache/commons/cli/HelpFormatter.java
@@ -482,13 +482,13 @@ public class HelpFormatter {
printUsage(pw, width, cmdLineSyntax);
}
- if (header != null && !header.trim().isEmpty()) {
+ if (header != null && !header.isEmpty()) {
printWrapped(pw, width, header);
}
printOptions(pw, width, options, leftPad, descPad);
- if (footer != null && !footer.trim().isEmpty()) {
+ if (footer != null && !footer.isEmpty()) {
printWrapped(pw, width, footer);
}
}
diff --git a/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
b/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
index d391b8a..3042034 100644
--- a/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
+++ b/src/test/java/org/apache/commons/cli/HelpFormatterTest.java
@@ -294,6 +294,62 @@ public class HelpFormatterTest {
}
@Test
+ public void testPrintHelpNewlineFooter()
+ {
+ final HelpFormatter formatter = new HelpFormatter();
+ final ByteArrayOutputStream out = new ByteArrayOutputStream();
+ final PrintWriter pw = new PrintWriter(out);
+
+ final Options options = new Options();
+ options.addOption("a", "b");
+
+ formatter.printHelp(
+ pw,
+ 80,
+ "test" + EOL,
+ "header" + EOL,
+ options,
+ 0,
+ 0,
+ EOL
+ );
+ final String expected = "usage: test" + EOL +
+ "header" + EOL +
+ "-ab" + EOL +
+ EOL;
+ pw.flush();
+ assertEquals("footer newline", expected, out.toString());
+ }
+
+ @Test
+ public void testPrintHelpNewlineHeader()
+ {
+ final HelpFormatter formatter = new HelpFormatter();
+ final ByteArrayOutputStream out = new ByteArrayOutputStream();
+ final PrintWriter pw = new PrintWriter(out);
+
+ final Options options = new Options();
+ options.addOption("a", "b");
+
+ formatter.printHelp(
+ pw,
+ 80,
+ "test" + EOL,
+ EOL,
+ options,
+ 0,
+ 0,
+ "footer" + EOL
+ );
+ String expected = "usage: test" + EOL +
+ EOL +
+ "-ab" + EOL +
+ "footer" + EOL;
+ pw.flush();
+ assertEquals("header newline", expected, out.toString());
+ }
+
+ @Test
public void testPrintHelpWithEmptySyntax() {
final HelpFormatter formatter = new HelpFormatter();
try {