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" +
- "[32mActive [39m | Green color\n" +
- "[33mThis is Resolved[39m | Yellow color\n", baos.toString());
+ assertEquals("Normal \tThis should have default color\n" +
+ "[32mActive [39m\tGreen color\n" +
+ "[33mThis is Resolved[39m\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) {