Author: jbonofre
Date: Tue Jan 22 16:25:39 2019
New Revision: 1851830
URL: http://svn.apache.org/viewvc?rev=1851830&view=rev
Log:
[FELIX-6033] This closes #166
Modified:
felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/PosixTest.java
Modified:
felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
URL:
http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java?rev=1851830&r1=1851829&r2=1851830&view=diff
==============================================================================
--- felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
(original)
+++ felix/trunk/gogo/jline/src/main/java/org/apache/felix/gogo/jline/Posix.java
Tue Jan 22 16:25:39 2019
@@ -390,9 +390,6 @@ public class Posix {
boolean displayWords = opt.isSet("words");
boolean displayChars = opt.isSet("chars");
boolean displayBytes = opt.isSet("bytes");
- if (displayChars) {
- displayBytes = false;
- }
if (!displayLines && !displayWords && !displayChars && !displayBytes) {
displayLines = true;
displayWords = true;
@@ -400,18 +397,36 @@ public class Posix {
}
String format = "";
if (displayLines) {
- format += "%1$8d";
+ if (!displayBytes && !displayChars && !displayWords) {
+ format = "%1$d";
+ } else {
+ format += "%1$8d";
+ }
}
if (displayWords) {
- format += "%2$8d";
+ if (!displayLines && !displayBytes && !displayChars) {
+ format = "%2$d";
+ } else {
+ format += "%2$8d";
+ }
}
if (displayChars) {
- format += "%3$8d";
+ if (!displayLines && !displayBytes && !displayWords) {
+ format = "%3$d";
+ } else {
+ format += "%3$8d";
+ }
}
if (displayBytes) {
- format += "%4$8d";
+ if (!displayLines && !displayChars && !displayWords) {
+ format = "%4$d";
+ } else {
+ format += "%4$8d";
+ }
+ }
+ if (sources.size() > 1 || (sources.size() == 1 &&
sources.get(0).getName() != null)) {
+ format += " %5$8s";
}
- format += " %5s";
int totalLines = 0;
int totalBytes = 0;
int totalChars = 0;
Modified:
felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/PosixTest.java
URL:
http://svn.apache.org/viewvc/felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/PosixTest.java?rev=1851830&r1=1851829&r2=1851830&view=diff
==============================================================================
---
felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/PosixTest.java
(original)
+++
felix/trunk/gogo/jline/src/test/java/org/apache/felix/gogo/jline/PosixTest.java
Tue Jan 22 16:25:39 2019
@@ -43,19 +43,62 @@ public class PosixTest extends AbstractP
@Test
public void testLsDotDot() throws Exception {
Context context = new Context();
- context.addCommand("ls", new Posix(context));
+ context.addCommand("ls", new Posix(context));
context.addCommand("tac", this);
-
+
String current = (String) context.execute("ls -1 --color=never . |
tac");
- assertTrue(current.indexOf("..") >=0);
- assertTrue(current.indexOf(".") >=0);
-
+ assertTrue(current.indexOf("..") >= 0);
+ assertTrue(current.indexOf(".") >= 0);
+
String parent = (String) context.execute("ls -1 --color=never .. |
tac");
- assertTrue(parent.indexOf("..") >=0);
- assertTrue(parent.indexOf(".") >=0);
-
+ assertTrue(parent.indexOf("..") >= 0);
+ assertTrue(parent.indexOf(".") >= 0);
+
assertNotEquals(current, parent);
+ }
+
+ @Test
+ public void testWcLines() throws Exception {
+ Context context = new Context();
+ context.addCommand("echo", new Posix(context));
+ context.addCommand("wc", new Posix(context));
+ context.addCommand("tac", this);
+
+ Object res = context.execute("echo \"test\" | wc -l | tac");
+ assertEquals("1", res);
+ }
+
+ @Test
+ public void testWcBytes() throws Exception {
+ Context context = new Context();
+ context.addCommand("echo", new Posix(context));
+ context.addCommand("wc", new Posix(context));
+ context.addCommand("tac", this);
+
+ Object res = context.execute("echo \"test\" | wc -c | tac");
+ assertEquals("5", res);
+ }
+
+ @Test
+ public void testWcLinesBytes() throws Exception {
+ Context context = new Context();
+ context.addCommand("echo", new Posix(context));
+ context.addCommand("wc", new Posix(context));
+ context.addCommand("tac", this);
+
+ Object res = context.execute("echo \"test\" | wc -l -c | tac");
+ assertEquals(" 1 5", res);
+ }
+
+ @Test
+ public void testWcLinesBytesChar() throws Exception {
+ Context context = new Context();
+ context.addCommand("echo", new Posix(context));
+ context.addCommand("wc", new Posix(context));
+ context.addCommand("tac", this);
+ Object res = context.execute("echo \"test\" | wc -l -c -m | tac");
+ assertEquals(" 1 5 5", res);
}
public String tac() throws IOException {