You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2021/05/08 04:09:39 UTC

[karaf] branch karaf-4.2.x updated: [KARAF-6849] Use tab as default no-format separator also in ascii shells

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

jbonofre pushed a commit to branch karaf-4.2.x
in repository https://gitbox.apache.org/repos/asf/karaf.git


The following commit(s) were added to refs/heads/karaf-4.2.x by this push:
     new 393d5be  [KARAF-6849] Use tab as default no-format separator also in ascii shells
393d5be is described below

commit 393d5bee7627767d3b7076315513d6cfa75adb67
Author: vassilz <va...@gmail.com>
AuthorDate: Fri May 7 19:52:37 2021 +0300

    [KARAF-6849] Use tab as default no-format separator also in ascii shells
    
    (cherry picked from commit 98e579afb2b82feef9cf7869f712ffc7ec3e320f)
---
 .../karaf/shell/support/table/ShellTable.java      |  3 +-
 .../karaf/shell/support/table/ShellTableTest.java  | 60 +++++++++++++++++++---
 2 files changed, 55 insertions(+), 8 deletions(-)

diff --git a/shell/core/src/main/java/org/apache/karaf/shell/support/table/ShellTable.java b/shell/core/src/main/java/org/apache/karaf/shell/support/table/ShellTable.java
index 8235692..d74eab1 100644
--- a/shell/core/src/main/java/org/apache/karaf/shell/support/table/ShellTable.java
+++ b/shell/core/src/main/java/org/apache/karaf/shell/support/table/ShellTable.java
@@ -143,7 +143,8 @@ public class ShellTable {
 
         for (Row row : rows) {
             if (!format) {
-                if (separator == null || separator.equals(DEFAULT_SEPARATOR))
+                if (separator == null || separator.equals(DEFAULT_SEPARATOR) ||
+                        separator.equals(DEFAULT_SEPARATOR_ASCII))
                     out.println(row.getContent(cols, DEFAULT_SEPARATOR_NO_FORMAT));
                 else out.println(row.getContent(cols, separator));
             } else {
diff --git a/shell/core/src/test/java/org/apache/karaf/shell/support/table/ShellTableTest.java b/shell/core/src/test/java/org/apache/karaf/shell/support/table/ShellTableTest.java
index 1ef0939..dd14beb 100644
--- a/shell/core/src/test/java/org/apache/karaf/shell/support/table/ShellTableTest.java
+++ b/shell/core/src/test/java/org/apache/karaf/shell/support/table/ShellTableTest.java
@@ -41,7 +41,7 @@ public class ShellTableTest {
         table.addRow().addContent("my first column value", "my second column value is quite long");
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         table.print(new PrintStream(baos), false);
-        assertEquals(String.format("%s%n","my first column value | my second column value is quite long"), baos.toString());
+        assertEquals(String.format("%s%n","my first column value\tmy second column value is quite long"), baos.toString());
     }
 
     @Test
@@ -54,7 +54,7 @@ public class ShellTableTest {
         table.size(50);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         table.print(new PrintStream(baos), false);
-        assertEquals(String.format("%s%n","my first column value | my second column value is q"), baos.toString());
+        assertEquals(String.format("%s%n","my first column value\tmy second column value is q"), baos.toString());
     }
 
     @Test
@@ -67,8 +67,8 @@ public class ShellTableTest {
         table.size(50);
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         table.print(new PrintStream(baos), false);
-        assertEquals(String.format("%1$s\n%2$s%n","my first column value | my second column value is",
-                "                      | quite long"), baos.toString());
+        assertEquals(String.format("%1$s\n%2$s%n","my first column value\tmy second column value is",
+                "                     \tquite long"), baos.toString());
     }
 
     @Test
@@ -129,9 +129,55 @@ public class ShellTableTest {
         
         ByteArrayOutputStream baos = new ByteArrayOutputStream();
         table.print(new PrintStream(baos), false);
-        assertEquals("Normal           | This should have default color\n" + 
-        		"Active           | Green color\n" + 
-        		"This is Resolved | Yellow color\n", baos.toString());
+        assertEquals("Normal          \tThis should have default color\n" +
+        		"Active          \tGreen color\n" +
+        		"This is Resolved\tYellow color\n", baos.toString());
+    }
+
+    @Test
+    public void testNoFormatSeparatorDefault() {
+        ShellTable table = new ShellTable();
+        table.column("col1");
+        table.column("col2").maxSize(-1);
+        table.addRow().addContent("my first column value", "my second column value is quite long");
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        table.print(new PrintStream(baos), false);
+        assertEquals(String.format("%s%n","my first column value\tmy second column value is quite long"), baos.toString());
+    }
+
+    @Test
+    public void testNoFormatSeparatorAsciiDefault() {
+        ShellTable table = new ShellTable();
+        table.separator(" | ");
+        table.column("col1");
+        table.column("col2").maxSize(-1);
+        table.addRow().addContent("my first column value", "my second column value is quite long");
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        table.print(new PrintStream(baos), false);
+        assertEquals(String.format("%s%n","my first column value\tmy second column value is quite long"), baos.toString());
+    }
+
+    @Test
+    public void testNoFormatSeparatorForcedAscii() {
+        ShellTable table = new ShellTable().forceAscii();
+        table.column("col1");
+        table.column("col2").maxSize(-1);
+        table.addRow().addContent("my first column value", "my second column value is quite long");
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        table.print(new PrintStream(baos), false);
+        assertEquals(String.format("%s%n","my first column value\tmy second column value is quite long"), baos.toString());
+    }
+
+    @Test
+    public void testNoFormatSeparatorUtf8Default() {
+        ShellTable table = new ShellTable();
+        table.separator(" │ ");
+        table.column("col1");
+        table.column("col2").maxSize(-1);
+        table.addRow().addContent("my first column value", "my second column value is quite long");
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        table.print(new PrintStream(baos), false);
+        assertEquals(String.format("%s%n","my first column value\tmy second column value is quite long"), baos.toString());
     }
 
     private String getString(ByteArrayOutputStream stream) {