Author: jbonofre
Date: Tue Jan 22 14:40:53 2019
New Revision: 1851826
URL: http://svn.apache.org/viewvc?rev=1851826&view=rev
Log:
[FELIX-5968] This closes #158
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=1851826&r1=1851825&r2=1851826&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 14:40:53 2019
@@ -1277,7 +1277,8 @@ public class Posix {
opt.args().forEach(s -> expanded.add(currentDir.resolve(s)));
}
boolean listAll = opt.isSet("a");
- Predicate<Path> filter = p -> listAll ||
!p.getFileName().toString().startsWith(".");
+ Predicate<Path> filter = p -> listAll ||
p.getFileName().toString().equals(".")
+ || p.getFileName().toString().equals("..") ||
!p.getFileName().toString().startsWith(".");
List<PathEntry> all = expanded.stream()
.filter(filter)
.map(p -> new PathEntry(p, currentDir))
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=1851826&r1=1851825&r2=1851826&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 14:40:53 2019
@@ -18,14 +18,14 @@
*/
package org.apache.felix.gogo.jline;
-import org.junit.Test;
+import static org.junit.Assert.*;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
-import static org.junit.Assert.assertEquals;
+import org.junit.Test;
public class PosixTest extends AbstractParserTest {
@@ -40,6 +40,24 @@ public class PosixTest extends AbstractP
assertEquals(" \u001b[1mbold\u001b[0m la", res);
}
+ @Test
+ public void testLsDotDot() throws Exception {
+ Context context = new 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);
+
+ String parent = (String) context.execute("ls -1 --color=never .. |
tac");
+ assertTrue(parent.indexOf("..") >=0);
+ assertTrue(parent.indexOf(".") >=0);
+
+ assertNotEquals(current, parent);
+
+ }
+
public String tac() throws IOException {
StringWriter sw = new StringWriter();
Reader rdr = new InputStreamReader(System.in);