You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by jk...@apache.org on 2005/01/07 15:04:41 UTC

cvs commit: ant/src/testcases/org/apache/tools/ant ProjectTest.java

jkf         2005/01/07 06:04:41

  Modified:    src/testcases/org/apache/tools/ant/util FileUtilsTest.java
               src/testcases/org/apache/tools/ant ProjectTest.java
  Log:
  Adapted the FileUtils test to show behaviour based on os type.
  
  Revision  Changes    Path
  1.32      +73 -50    ant/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java
  
  Index: FileUtilsTest.java
  ===================================================================
  RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/util/FileUtilsTest.java,v
  retrieving revision 1.31
  retrieving revision 1.32
  diff -u -r1.31 -r1.32
  --- FileUtilsTest.java	6 Jan 2005 12:05:07 -0000	1.31
  +++ FileUtilsTest.java	7 Jan 2005 14:04:41 -0000	1.32
  @@ -109,37 +109,37 @@
           assertEquals(File.separator,
                        FILE_UTILS.resolveFile(null, "\\").getPath());
   
  -        /*
  -         * throw in drive letters
  -         */
  -        String driveSpec = "C:";
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.resolveFile(null, driveSpec + "/").getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.resolveFile(null, driveSpec + "\\").getPath());
  -        String driveSpecLower = "c:";
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.resolveFile(null, driveSpecLower + "/").getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.resolveFile(null, driveSpecLower + "\\").getPath());
  -        /*
  -         * promised to eliminate consecutive slashes after drive letter.
  -         */
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.resolveFile(null, driveSpec + "/////").getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.resolveFile(null, driveSpec + "\\\\\\\\\\\\").getPath());
  -
  -        if (Os.isFamily("netware")) {
  +        if (Os.isFamily("dos")) {
  +            /*
  +             * throw in drive letters
  +             */
  +            String driveSpec = "C:";
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.resolveFile(null, driveSpec + "/").getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.resolveFile(null, driveSpec + "\\").getPath());
  +            String driveSpecLower = "c:";
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.resolveFile(null, driveSpecLower + "/").getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.resolveFile(null, driveSpecLower + "\\").getPath());
  +            /*
  +             * promised to eliminate consecutive slashes after drive letter.
  +             */
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.resolveFile(null, driveSpec + "/////").getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.resolveFile(null, driveSpec + "\\\\\\\\\\\\").getPath());
  +        } else if (Os.isFamily("netware")) {
               /*
                * throw in NetWare volume names
                */
  -            driveSpec = "SYS:";
  +            String driveSpec = "SYS:";
               assertEquals(driveSpec,
                            FILE_UTILS.resolveFile(null, driveSpec + "/").getPath());
               assertEquals(driveSpec,
                            FILE_UTILS.resolveFile(null, driveSpec + "\\").getPath());
  -            driveSpecLower = "sys:";
  +            String driveSpecLower = "sys:";
               assertEquals(driveSpec,
                            FILE_UTILS.resolveFile(null, driveSpecLower + "/").getPath());
               assertEquals(driveSpec,
  @@ -151,6 +151,20 @@
                            FILE_UTILS.resolveFile(null, driveSpec + "/////").getPath());
               assertEquals(driveSpec,
                            FILE_UTILS.resolveFile(null, driveSpec + "\\\\\\\\\\\\").getPath());
  +        } else {
  +            /*
  +             * drive letters must be considered just normal filenames.
  +             */
  +            String driveSpec = "C:";
  +            assertEquals(driveSpec,
  +                         FILE_UTILS.resolveFile(null, driveSpec + "/").getPath());
  +            assertEquals(driveSpec,
  +                         FILE_UTILS.resolveFile(null, driveSpec + "\\").getPath());
  +            String driveSpecLower = "c:";
  +            assertEquals(driveSpecLower,
  +                         FILE_UTILS.resolveFile(null, driveSpecLower + "/").getPath());
  +            assertEquals(driveSpecLower,
  +                         FILE_UTILS.resolveFile(null, driveSpecLower + "\\").getPath());
           }
   
           /*
  @@ -191,41 +205,41 @@
           assertEquals(File.separator,
                        FILE_UTILS.normalize("\\").getPath());
   
  -        /*
  -         * throw in drive letters
  -         */
  -        String driveSpec = "C:";
  -        assertEquals(driveSpec,
  -                     FILE_UTILS.normalize(driveSpec).getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.normalize(driveSpec + "/").getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.normalize(driveSpec + "\\").getPath());
  -        String driveSpecLower = "c:";
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.normalize(driveSpecLower + "/").getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.normalize(driveSpecLower + "\\").getPath());
  -        /*
  -         * promised to eliminate consecutive slashes after drive letter.
  -         */
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.normalize(driveSpec + "/////").getPath());
  -        assertEquals(driveSpec + "\\",
  -                     FILE_UTILS.normalize(driveSpec + "\\\\\\\\\\\\").getPath());
  -
  -        if (Os.isFamily("netware")) {
  +        if (Os.isFamily("dos")) {
  +            /*
  +             * throw in drive letters
  +             */
  +            String driveSpec = "C:";
  +            assertEquals(driveSpec,
  +                         FILE_UTILS.normalize(driveSpec).getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.normalize(driveSpec + "/").getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.normalize(driveSpec + "\\").getPath());
  +            String driveSpecLower = "c:";
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.normalize(driveSpecLower + "/").getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.normalize(driveSpecLower + "\\").getPath());
  +            /*
  +             * promised to eliminate consecutive slashes after drive letter.
  +             */
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.normalize(driveSpec + "/////").getPath());
  +            assertEquals(driveSpec + "\\",
  +                         FILE_UTILS.normalize(driveSpec + "\\\\\\\\\\\\").getPath());
  +        } else if (Os.isFamily("netware")) {
               /*
                * throw in NetWare volume names
                */
  -            driveSpec = "SYS:";
  +            String driveSpec = "SYS:";
               assertEquals(driveSpec,
                            FILE_UTILS.normalize(driveSpec).getPath());
               assertEquals(driveSpec,
                            FILE_UTILS.normalize(driveSpec + "/").getPath());
               assertEquals(driveSpec,
                            FILE_UTILS.normalize(driveSpec + "\\").getPath());
  -            driveSpecLower = "sys:";
  +            String driveSpecLower = "sys:";
               assertEquals(driveSpec,
                            FILE_UTILS.normalize(driveSpecLower).getPath());
               assertEquals(driveSpec,
  @@ -241,6 +255,15 @@
                            FILE_UTILS.normalize(driveSpec + "/////").getPath());
               assertEquals(driveSpec,
                            FILE_UTILS.normalize(driveSpec + "\\\\\\\\\\\\").getPath());
  +        } else {
  +            try {
  +                String driveSpec = "C:";
  +                assertEquals(driveSpec,
  +                             FILE_UTILS.normalize(driveSpec).getPath());
  +                fail("Expected failure, C: isn't an absolute path on other os's");
  +            } catch (BuildException e) {
  +                // Passed test 
  +            }
           }
   
           /*
  
  
  
  1.26      +38 -21    ant/src/testcases/org/apache/tools/ant/ProjectTest.java
  
  Index: ProjectTest.java
  ===================================================================
  RCS file: /home/cvs/ant/src/testcases/org/apache/tools/ant/ProjectTest.java,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- ProjectTest.java	9 Mar 2004 16:48:56 -0000	1.25
  +++ ProjectTest.java	7 Jan 2005 14:04:41 -0000	1.26
  @@ -20,6 +20,7 @@
   import org.apache.tools.ant.input.DefaultInputHandler;
   import org.apache.tools.ant.input.InputHandler;
   import org.apache.tools.ant.input.PropertyFileInputHandler;
  +import org.apache.tools.ant.taskdefs.condition.Os;
   import org.apache.tools.ant.types.*;
   import org.apache.tools.ant.util.JavaEnvUtils;
   
  @@ -74,27 +75,43 @@
           assertEquals(File.separator,
                        p.resolveFile("\\", null).getPath());
   
  -        /*
  -         * throw in drive letters
  -         */
  -        String driveSpec = "C:";
  -        assertEquals(driveSpec + "\\",
  -                     p.resolveFile(driveSpec + "/", null).getPath());
  -        assertEquals(driveSpec + "\\",
  -                     p.resolveFile(driveSpec + "\\", null).getPath());
  -        String driveSpecLower = "c:";
  -        assertEquals(driveSpec + "\\",
  -                     p.resolveFile(driveSpecLower + "/", null).getPath());
  -        assertEquals(driveSpec + "\\",
  -                     p.resolveFile(driveSpecLower + "\\", null).getPath());
  -        /*
  -         * promised to eliminate consecutive slashes after drive letter.
  -         */
  -        assertEquals(driveSpec + "\\",
  -                     p.resolveFile(driveSpec + "/////", null).getPath());
  -        assertEquals(driveSpec + "\\",
  -                     p.resolveFile(driveSpec + "\\\\\\\\\\\\", null).getPath());
  -
  +        if (Os.isFamily("netware") || Os.isFamily("dos")) {
  +            /*
  +             * throw in drive letters
  +             */
  +            String driveSpec = "C:";
  +            assertEquals(driveSpec + "\\",
  +                         p.resolveFile(driveSpec + "/", null).getPath());
  +            assertEquals(driveSpec + "\\",
  +                         p.resolveFile(driveSpec + "\\", null).getPath());
  +            String driveSpecLower = "c:";
  +            assertEquals(driveSpec + "\\",
  +                         p.resolveFile(driveSpecLower + "/", null).getPath());
  +            assertEquals(driveSpec + "\\",
  +                         p.resolveFile(driveSpecLower + "\\", null).getPath());
  +            /*
  +             * promised to eliminate consecutive slashes after drive letter.
  +             */
  +            assertEquals(driveSpec + "\\",
  +                         p.resolveFile(driveSpec + "/////", null).getPath());
  +            assertEquals(driveSpec + "\\",
  +                         p.resolveFile(driveSpec + "\\\\\\\\\\\\", null).getPath());
  +        } else {
  +            /*
  +             * drive letters are not used, just to be considered as normal
  +             * part of a name
  +             */
  +            String driveSpec = "C:";
  +            assertEquals(driveSpec,
  +                         p.resolveFile(driveSpec + "/", null).getPath());
  +            assertEquals(driveSpec,
  +                         p.resolveFile(driveSpec + "\\", null).getPath());
  +            String driveSpecLower = "c:";
  +            assertEquals(driveSpecLower,
  +                         p.resolveFile(driveSpecLower + "/", null).getPath());
  +            assertEquals(driveSpecLower,
  +                         p.resolveFile(driveSpecLower + "\\", null).getPath());
  +        }
           /*
            * Now test some relative file name magic.
            */
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org