Author: bodewig
Date: Wed Jun  9 15:44:46 2010
New Revision: 953046

URL: http://svn.apache.org/viewvc?rev=953046&view=rev
Log:
some JUnit tests to verify/falsify 
http://mail-archives.apache.org/mod_mbox/ant-user/201006.mbox/%3c28829117.p...@talk.nabble.com%3e

Added:
    
ant/core/trunk/src/tests/junit/org/apache/tools/ant/types/selectors/TokenizedPatternTest.java
   (with props)
Modified:
    ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java
    
ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java

Modified: ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java?rev=953046&r1=953045&r2=953046&view=diff
==============================================================================
--- ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java 
(original)
+++ ant/core/trunk/src/main/org/apache/tools/ant/DirectoryScanner.java Wed Jun  
9 15:44:46 2010
@@ -1458,7 +1458,7 @@ public class DirectoryScanner
      * @param path the path to check.
      * @return whether all the specified directory's contents are excluded.
      */
-    private boolean contentsExcluded(TokenizedPath path) {
+    /* package */ boolean contentsExcluded(TokenizedPath path) {
         for (int i = 0; i < excludePatterns.length; i++) {
             if (excludePatterns[i].endsWith(SelectorUtils.DEEP_TREE_MATCH)
                 && excludePatterns[i].withoutLastToken()
@@ -1783,7 +1783,7 @@ public class DirectoryScanner
      *
      * @since Ant 1.6.3
      */
-    private synchronized void ensureNonPatternSetsReady() {
+    /* package */ synchronized void ensureNonPatternSetsReady() {
         if (!areNonPatternSetsReady) {
             includePatterns = fillNonPatternSet(includeNonPatterns, includes);
             excludePatterns = fillNonPatternSet(excludeNonPatterns, excludes);

Modified: 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java?rev=953046&r1=953045&r2=953046&view=diff
==============================================================================
--- 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java 
(original)
+++ 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/DirectoryScannerTest.java 
Wed Jun  9 15:44:46 2010
@@ -19,10 +19,10 @@
 package org.apache.tools.ant;
 
 import org.apache.tools.ant.taskdefs.condition.Os;
+import org.apache.tools.ant.types.selectors.TokenizedPath;
 import org.apache.tools.ant.util.FileUtils;
 import org.apache.tools.ant.util.SymbolicLinkUtils;
 
-
 import java.io.File;
 import java.io.IOException;
 import java.util.Arrays;
@@ -555,4 +555,15 @@ public class DirectoryScannerTest extend
                    files.contains("alpha/beta/gamma/gamma.xml"
                                   .replace('/', File.separatorChar)));
     }
+
+    public void testContentsExcluded() {
+        DirectoryScanner ds = new DirectoryScanner();
+        ds.setBasedir(new File("."));
+        ds.setIncludes(new String[] {"**"});
+        ds.addDefaultExcludes();
+        ds.ensureNonPatternSetsReady();
+        File f = new File(".svn");
+        TokenizedPath p = new TokenizedPath(f.getAbsolutePath());
+        assertTrue(ds.contentsExcluded(p));
+    }
 }

Added: 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/types/selectors/TokenizedPatternTest.java
URL: 
http://svn.apache.org/viewvc/ant/core/trunk/src/tests/junit/org/apache/tools/ant/types/selectors/TokenizedPatternTest.java?rev=953046&view=auto
==============================================================================
--- 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/types/selectors/TokenizedPatternTest.java
 (added)
+++ 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/types/selectors/TokenizedPatternTest.java
 Wed Jun  9 15:44:46 2010
@@ -0,0 +1,57 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one or more
+ *  contributor license agreements.  See the NOTICE file distributed with
+ *  this work for additional information regarding copyright ownership.
+ *  The ASF licenses this file to You under the Apache License, Version 2.0
+ *  (the "License"); you may not use this file except in compliance with
+ *  the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ *
+ */
+
+package org.apache.tools.ant.types.selectors;
+
+import java.io.File;
+import junit.framework.TestCase;
+
+public class TokenizedPatternTest extends TestCase {
+    private static final String DOT_SVN_PATTERN =
+        SelectorUtils.DEEP_TREE_MATCH + File.separator + ".svn"
+        + File.separator + SelectorUtils.DEEP_TREE_MATCH;
+
+    public void testTokenization() {
+        TokenizedPattern pat = new TokenizedPattern(DOT_SVN_PATTERN);
+        assertEquals(3, pat.depth());
+        assertEquals(DOT_SVN_PATTERN, pat.getPattern());
+        assertTrue(pat.containsPattern(SelectorUtils.DEEP_TREE_MATCH));
+        assertTrue(pat.containsPattern(".svn"));
+    }
+
+    public void testEndsWith() {
+        assertTrue(new TokenizedPattern(DOT_SVN_PATTERN)
+                   .endsWith(SelectorUtils.DEEP_TREE_MATCH));
+    }
+
+    public void testWithoutLastToken() {
+        assertEquals(SelectorUtils.DEEP_TREE_MATCH + File.separatorChar
+                     + ".svn" + File.separator,
+                     new TokenizedPattern(DOT_SVN_PATTERN)
+                     .withoutLastToken().getPattern());
+    }
+
+    public void testMatchPath() {
+        File f = new File(".svn");
+        TokenizedPath p = new TokenizedPath(f.getAbsolutePath());
+        assertTrue(new TokenizedPattern(DOT_SVN_PATTERN).matchPath(p, true));
+        assertTrue(new TokenizedPattern(DOT_SVN_PATTERN)
+                   .withoutLastToken().matchPath(p, true));
+    }
+
+}

Propchange: 
ant/core/trunk/src/tests/junit/org/apache/tools/ant/types/selectors/TokenizedPatternTest.java
------------------------------------------------------------------------------
    svn:eol-style = native


Reply via email to