]> source.dussan.org Git - aspectj.git/commitdiff
sourceRootCopyFilter test
authorwisberg <wisberg>
Fri, 29 Aug 2003 18:00:30 +0000 (18:00 +0000)
committerwisberg <wisberg>
Fri, 29 Aug 2003 18:00:30 +0000 (18:00 +0000)
taskdefs/testdata/sourceroot/Default.java [new file with mode: 0644]
taskdefs/testdata/sourceroot/doNotCopy [new file with mode: 0644]
taskdefs/testdata/sourceroot/pack/Pack.java [new file with mode: 0644]
taskdefs/testdata/sourceroot/pack/includeme [new file with mode: 0644]
taskdefs/testdata/sourceroot/pack/something.txt [new file with mode: 0644]
taskdefs/testdata/sourceroot/skipTxtFiles.txt [new file with mode: 0644]
taskdefs/testsrc/org/aspectj/tools/ant/taskdefs/AjcTaskTest.java

diff --git a/taskdefs/testdata/sourceroot/Default.java b/taskdefs/testdata/sourceroot/Default.java
new file mode 100644 (file)
index 0000000..f2770d1
--- /dev/null
@@ -0,0 +1,7 @@
+
+
+public class Default {
+    public static void main(String[] args) {
+        pack.Pack.method();
+    }
+}
\ No newline at end of file
diff --git a/taskdefs/testdata/sourceroot/doNotCopy b/taskdefs/testdata/sourceroot/doNotCopy
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/taskdefs/testdata/sourceroot/pack/Pack.java b/taskdefs/testdata/sourceroot/pack/Pack.java
new file mode 100644 (file)
index 0000000..6db0049
--- /dev/null
@@ -0,0 +1,7 @@
+
+package pack;
+
+public class Pack {
+    public static void method() {        
+    }
+}
\ No newline at end of file
diff --git a/taskdefs/testdata/sourceroot/pack/includeme b/taskdefs/testdata/sourceroot/pack/includeme
new file mode 100644 (file)
index 0000000..5e40c08
--- /dev/null
@@ -0,0 +1 @@
+asdf
\ No newline at end of file
diff --git a/taskdefs/testdata/sourceroot/pack/something.txt b/taskdefs/testdata/sourceroot/pack/something.txt
new file mode 100644 (file)
index 0000000..d6d9d34
--- /dev/null
@@ -0,0 +1 @@
+blah
\ No newline at end of file
diff --git a/taskdefs/testdata/sourceroot/skipTxtFiles.txt b/taskdefs/testdata/sourceroot/skipTxtFiles.txt
new file mode 100644 (file)
index 0000000..5e40c08
--- /dev/null
@@ -0,0 +1 @@
+asdf
\ No newline at end of file
index f7936d1e90624fc9fcfb0a23993293d2b5e3965b..3186e8df4f4029a5563700ef696e19878105bcbe 100644 (file)
@@ -146,22 +146,58 @@ public class AjcTaskTest extends TestCase {
         AjcTask task = getTask("default.lst");
         checkRun(task, null);
 
+        // copyInJars now just emits warning b/c unused
         task = getTask("default.lst", null);
         task.setCopyInjars(true);
-        checkRun(task, "copyInjars");
+        checkRun(task, null);
 
+        // sourceRootCopyFilter requires destDir
         task = getTask("default.lst", null);
-        task.setSourceRootCopyFilter("*.java");
+        task.setSourceRootCopyFilter("**/*.java");
         checkRun(task, "sourceRoot");
     }
     
+    public void testSourceRootCopyFilter () {
+        // sourceRootCopyFilter works..
+        File destDir = getTempDir();
+        assertTrue("unable to create " + destDir,
+            destDir.canRead() || destDir.mkdirs());        
+        AjcTask task = getTask("sourceroot", destDir);
+        task.setSourceRootCopyFilter("doNotCopy,**/*.txt");
+        File file = new File(destDir, "Default.java").getAbsoluteFile();
+        assertTrue(file + ".canRead() prematurely", !file.canRead());
+        checkRun(task, null);
+        // got expected resources
+        assertTrue(file + ".canRead() failed", file.canRead());
+        File pack = new File(destDir, "pack");
+        file = new File(pack, "Pack.java").getAbsoluteFile();
+        assertTrue(file + ".canRead() failed", file.canRead());
+        file = new File(pack, "includeme").getAbsoluteFile();
+        assertTrue(file + ".canRead() failed", file.canRead());
+        
+        // didn't get unexpected resources
+        file = new File(pack, "something.txt");
+        assertTrue(file + ".canRead() passed", !file.canRead());
+        file = new File(destDir, "doNotCopy");
+        assertTrue(file + ".canRead() passed", !file.canRead());
+        file = new File(destDir, "skipTxtFiles.txt");
+        assertTrue(file + ".canRead() passed", !file.canRead());
+    }
+    
     private void checkRun(AjcTask task, String exceptionString) {
         try {
             task.execute();
             assertTrue(null == exceptionString);
         } catch (BuildException e) {
-            if(-1 == e.getMessage().indexOf(exceptionString)) {
-                assertEquals(exceptionString, e.getMessage());
+            if (null == exceptionString) {
+                assertTrue("unexpected " + e.getMessage(), false);
+            } else {
+                String m = e.getMessage();
+                if (null == m) {
+                    assertTrue("not " + exceptionString, false);
+                } else if (-1 == m.indexOf(exceptionString)) {
+                    assertEquals(exceptionString, e.getMessage());
+                }
             }
         }
         
@@ -266,18 +302,14 @@ public class AjcTaskTest extends TestCase {
                        task.setArgfiles(new Path(task.getProject(), path));
                }
         } else if ((input.endsWith(".java") || input.endsWith(".aj"))) {
-               // not working
                FilenameSelector fns = new FilenameSelector();
                fns.setName(input);
                task.addFilename(fns);
         } else {
-               File dir = new File(input);
-               if (dir.canRead() && dir.isDirectory()) {
-                       task.setSourceRoots(new Path(task.getProject(), input));
-               }        
+            String path = testdataDir + File.separator + input;
+            task.setSourceRoots(new Path(task.getProject(), path));
         }
         task.setClasspath(new Path(p, "../lib/test/aspectjrt.jar"));
-        //task.setVerbose(true);   
         return task;
     }