You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2012/10/07 23:10:31 UTC

svn commit: r1395384 - in /maven/shared/trunk/maven-shared-utils/src: main/java/org/apache/maven/shared/utils/io/SelectorUtils.java test/java/org/apache/maven/shared/utils/io/SelectorUtilsTest.java

Author: rfscholte
Date: Sun Oct  7 21:10:31 2012
New Revision: 1395384

URL: http://svn.apache.org/viewvc?rev=1395384&view=rev
Log:
Also pass an altered pattern to the matchAntPathPatternStart.
When testing assertAntDoesNotMatch( "/aaa", "" ) under Windows, the selector didn't recognize the separatorPatternStartSlashMismatch. Since the second argument gives an empty Array after tokenizing, the matchAntPathPatternStart thinks it is ready because the String is exhausted, so it returns true, where it should have been false in this rare case.

Modified:
    maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
    maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/io/SelectorUtilsTest.java

Modified: maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java?rev=1395384&r1=1395383&r2=1395384&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/main/java/org/apache/maven/shared/utils/io/SelectorUtils.java Sun Oct  7 21:10:31 2012
@@ -121,10 +121,10 @@ public final class SelectorUtils
                                              pattern.length() - PATTERN_HANDLER_SUFFIX.length() );
             }
 
+            String altPattern = pattern.replace( '\\', '/' );
             String altStr = str.replace( '\\', '/' );
 
-            return matchAntPathPatternStart( pattern, str, File.separator, isCaseSensitive )
-                || matchAntPathPatternStart( pattern, altStr, "/", isCaseSensitive );
+            return matchAntPathPatternStart( altPattern, altStr, "/", isCaseSensitive );
         }
     }
 

Modified: maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/io/SelectorUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/io/SelectorUtilsTest.java?rev=1395384&r1=1395383&r2=1395384&view=diff
==============================================================================
--- maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/io/SelectorUtilsTest.java (original)
+++ maven/shared/trunk/maven-shared-utils/src/test/java/org/apache/maven/shared/utils/io/SelectorUtilsTest.java Sun Oct  7 21:10:31 2012
@@ -56,14 +56,15 @@ public class SelectorUtilsTest
     @Test
     public void testAntPatternStrings()
     {
-        assertAntDoesNotMatch(File.separator + "aaa", "");
-        assertAntMatch("aaa", "");
-        assertAntMatch("/aaa/bbb", "/aaa/bbb");
-        assertAntMatch("/aaa/**",  "/aaa/bbb");
-        assertAntDoesNotMatch("/aaa/**", "/ccc/bbb");
-        assertAntMatch( "/aaa/**", "\\aaa\\bbb");
-        assertAntDoesNotMatch("/aaa/**", "\\ccc\\bbb");
-        assertAntDoesNotMatch("/aaa/",   "\\aaa\\bbb");
+        assertAntDoesNotMatch( "/aaa", "" );
+        assertAntDoesNotMatch( "\\aaa", "" );
+        assertAntMatch( "aaa", "" );
+        assertAntMatch( "/aaa/bbb", "/aaa/bbb" );
+        assertAntMatch( "/aaa/**", "/aaa/bbb" );
+        assertAntDoesNotMatch( "/aaa/**", "/ccc/bbb" );
+        assertAntMatch( "/aaa/**", "\\aaa\\bbb" );
+        assertAntDoesNotMatch( "/aaa/**", "\\ccc\\bbb" );
+        assertAntDoesNotMatch( "/aaa/", "\\aaa\\bbb" );
     }