Author: bayard
Date: Mon Jul 31 23:50:08 2006
New Revision: 427470

URL: http://svn.apache.org/viewvc?rev=427470&view=rev
Log:
Fixing bug reported byu Markus Rogg in #SANDBOX-153. Whitespace was being 
treated specially when it was not the delimiter. Unit test and patch applied. 

Modified:
    
jakarta/commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVParser.java
    
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/CSVParserTest.java

Modified: 
jakarta/commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVParser.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVParser.java?rev=427470&r1=427469&r2=427470&view=diff
==============================================================================
--- 
jakarta/commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVParser.java
 (original)
+++ 
jakarta/commons/sandbox/csv/trunk/src/java/org/apache/commons/csv/CSVParser.java
 Mon Jul 31 23:50:08 2006
@@ -557,7 +557,7 @@
    * @return true if the given char is a whitespace character
    */
   private boolean isWhitespace(int c) {
-    return Character.isWhitespace((char) c);
+    return Character.isWhitespace((char) c) && (c != strategy.getDelimiter());
   }
   
   /**

Modified: 
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/CSVParserTest.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/CSVParserTest.java?rev=427470&r1=427469&r2=427470&view=diff
==============================================================================
--- 
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/CSVParserTest.java
 (original)
+++ 
jakarta/commons/sandbox/csv/trunk/src/test/org/apache/commons/csv/CSVParserTest.java
 Mon Jul 31 23:50:08 2006
@@ -526,4 +526,18 @@
         }
       }
     }
+
+    // From SANDBOX-153
+     public void testDelimiterIsWhitespace() throws IOException {
+         String code = "one\ttwo\t\tfour \t five\t six";
+         TestCSVParser parser = new TestCSVParser(new StringReader(code));
+         parser.setStrategy(CSVStrategy.TDF_STRATEGY);
+         System.out.println("---------\n" + code + "\n-------------");
+         assertEquals(CSVParser.TT_TOKEN + ";one;", parser.testNextToken());
+         assertEquals(CSVParser.TT_TOKEN + ";two;", parser.testNextToken());
+         assertEquals(CSVParser.TT_TOKEN + ";;", parser.testNextToken());
+         assertEquals(CSVParser.TT_TOKEN + ";four;", parser.testNextToken());
+         assertEquals(CSVParser.TT_TOKEN + ";five;", parser.testNextToken());
+         assertEquals(CSVParser.TT_EOF + ";six;", parser.testNextToken());
+     }
 }



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

Reply via email to