Skip to content

Commit c025d73

Browse files
committed
CSV235 - WRONG Implementation for RFC4180
Show that implementation is actually correct
1 parent bc64fb5 commit c025d73

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/test/java/org/apache/commons/csv/CSVParserTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1179,6 +1179,18 @@ public void testRepeatedHeadersAreReturnedInCSVRecordHeaderNames() throws IOExce
11791179
assertEquals(Arrays.asList("header1", "header2", "header1"), record.getParser().getHeaderNames());
11801180
}
11811181

1182+
@Test
1183+
public void testCSV235() throws IOException {
1184+
final String dqString = "\"aaa\",\"b\"\"bb\",\"ccc\""; // "aaa","b""bb","ccc"
1185+
final Iterator<CSVRecord> records = CSVFormat.RFC4180.parse(new StringReader(dqString)).iterator();
1186+
final CSVRecord record = records.next();
1187+
assertFalse(records.hasNext());
1188+
Assert.assertEquals(3, record.size());
1189+
assertEquals("aaa", record.get(0));
1190+
assertEquals("b\"bb", record.get(1));
1191+
assertEquals("ccc", record.get(2));
1192+
}
1193+
11821194
private void validateLineNumbers(final String lineSeparator) throws IOException {
11831195
try (final CSVParser parser = CSVParser.parse("a" + lineSeparator + "b" + lineSeparator + "c",
11841196
CSVFormat.DEFAULT.withRecordSeparator(lineSeparator))) {

0 commit comments

Comments
 (0)