You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2012/03/29 02:05:46 UTC
svn commit: r1306651 -
/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexerTest.java
Author: sebb
Date: Thu Mar 29 00:05:45 2012
New Revision: 1306651
URL: http://svn.apache.org/viewvc?rev=1306651&view=rev
Log:
Test with empty lines
Modified:
commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexerTest.java
Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexerTest.java?rev=1306651&r1=1306650&r2=1306651&view=diff
==============================================================================
--- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexerTest.java (original)
+++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVLexerTest.java Thu Mar 29 00:05:45 2012
@@ -89,6 +89,42 @@ public class CSVLexerTest {
}
+ // multiline including comments (and empty lines)
+ @Test
+ public void testNextToken2EmptyLines() throws IOException {
+ final String code =
+ "1,2,3,\n"+ // 1
+ "a,b x,c#no-comment\n"+ // 2
+ "#foo\n"+ // 3
+ "\n"+ // 4
+ "d,e,#no-comment\n"+ // 5
+ "# penultimate comment\n"+ // 6
+ "# Final comment\n"; // 7
+ CSVFormat format = CSVFormat.DEFAULT.withCommentStart('#').withEmptyLinesIgnored(false);
+ assertFalse("Should not ignore empty lines", format.isEmptyLinesIgnored());
+
+ Lexer parser = getLexer(code, format);
+
+
+ assertTokenEquals(TOKEN, "1", parser.nextToken(new Token()));
+ assertTokenEquals(TOKEN, "2", parser.nextToken(new Token()));
+ assertTokenEquals(TOKEN, "3", parser.nextToken(new Token()));
+ assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 1
+ assertTokenEquals(TOKEN, "a", parser.nextToken(new Token()));
+ assertTokenEquals(TOKEN, "b x", parser.nextToken(new Token()));
+ assertTokenEquals(EORECORD, "c#no-comment", parser.nextToken(new Token())); // 2
+ assertTokenEquals(COMMENT, "", parser.nextToken(new Token())); // 3
+ assertTokenEquals(EORECORD, "", parser.nextToken(new Token())); // 4
+ assertTokenEquals(TOKEN, "d", parser.nextToken(new Token()));
+ assertTokenEquals(TOKEN, "e", parser.nextToken(new Token()));
+ assertTokenEquals(EORECORD, "#no-comment", parser.nextToken(new Token())); // 5
+ assertTokenEquals(COMMENT, "", parser.nextToken(new Token())); // 6
+ assertTokenEquals(COMMENT, "", parser.nextToken(new Token())); // 7
+ assertTokenEquals(EOF, "", parser.nextToken(new Token()));
+ assertTokenEquals(EOF, "", parser.nextToken(new Token()));
+
+ }
+
// simple token with escaping
@Test
public void testNextToken3() throws IOException {