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 {

Reply via email to