scohen      2004/01/17 13:04:21

  Modified:    net/src/java/org/apache/commons/net/ftp/parser
                        NTFTPEntryParser.java
               net/src/test/org/apache/commons/net/ftp/parser
                        NTFTPEntryParserTest.java
  Log:
  fix bug 20259 (NT directories with name beginning with number).  Beef up test
  case to catch bug and fix, according to reporter's suggestion.
  
  Revision  Changes    Path
  1.10      +2 -2      
jakarta-commons/net/src/java/org/apache/commons/net/ftp/parser/NTFTPEntryParser.java
  
  Index: NTFTPEntryParser.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/net/src/java/org/apache/commons/net/ftp/parser/NTFTPEntryParser.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- NTFTPEntryParser.java     10 Jan 2004 16:01:48 -0000      1.9
  +++ NTFTPEntryParser.java     17 Jan 2004 21:04:21 -0000      1.10
  @@ -79,7 +79,7 @@
           + "([0-5]\\d)\\s*" 
           + "([AP])M\\s*" 
           + "(<DIR>)?\\s*" 
  -        + "([0-9]+)?\\s*" 
  +        + "([0-9]+)?\\s+" 
           + "(\\S.*)";
   
       /**
  
  
  
  1.6       +41 -2     
jakarta-commons/net/src/test/org/apache/commons/net/ftp/parser/NTFTPEntryParserTest.java
  
  Index: NTFTPEntryParserTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/net/src/test/org/apache/commons/net/ftp/parser/NTFTPEntryParserTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- NTFTPEntryParserTest.java 2 Jan 2004 03:39:07 -0000       1.5
  +++ NTFTPEntryParserTest.java 17 Jan 2004 21:04:21 -0000      1.6
  @@ -75,7 +75,8 @@
                   "01-22-98  01:52PM                  795 AUTOEXEC.BAT",
                   "05-13-97  01:46PM                  828 AUTOEXEC.DOS",
                   "12-03-96  06:38AM                  403 AUTOTOOL.LOG",
  -                "01-20-97  03:48PM       <DIR>          bin",
  +                "12-03-96  06:38AM       <DIR>          123xyz",
  +                             "01-20-97  03:48PM       <DIR>          bin",
   
               };
   
  @@ -88,6 +89,9 @@
                   "     0           DIR   05-12-97   16:52  Maintenance Desktop",
   
               };
  +    private static final String directoryBeginningWithNumber =
  +     "12-03-96  06:38AM       <DIR>          123xyz";
  +     
   
       /**
        * @see junit.framework.TestCase#TestCase(String)
  @@ -159,4 +163,39 @@
           assertEquals("AUTOEXEC.BAK", f.getName());
           assertEquals(828, f.getSize());   
       }
  +
  +    /* (non-Javadoc)
  +      * @see 
org.apache.commons.net.ftp.parser.FTPParseTestFramework#testGoodListing()
  +      */
  +     public void testGoodListing() throws Exception {
  +             String[] goodsamples = getGoodListing();
  +             for (int i = 0; i < goodsamples.length; i++)
  +             {
  +
  +                     String test = goodsamples[i];
  +                     FTPFile f = getParser().parseFTPEntry(test);
  +                     assertNotNull("Failed to parse " + test, 
  +                                     f);
  +                     if (test.indexOf("<DIR>") >= 0) {
  +                             assertEquals("directory.type", 
  +                                             FTPFile.DIRECTORY_TYPE, f.getType());
  +                     } else {
  +                             assertEquals("file.type", 
  +                                             FTPFile.FILE_TYPE, f.getType());
  +                     }
  +             }
  +             
  +     }
  +     
  +
  +     /**
  +      * test condition reported as bug 20259.
  +      * directory with name beginning with a numeric character
  +      * was not parsing correctly
  +      * @throws Exception
  +      */
  +     public void testDirectoryBeginningWithNumber() throws Exception {
  +             FTPFile f = getParser().parseFTPEntry(directoryBeginningWithNumber);
  +             assertEquals("name", "123xyz", f.getName());
  +     }
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to