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);


Reply via email to