1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.commons.csv.issues;
19
20 import static org.junit.jupiter.api.Assertions.assertEquals;
21
22 import java.io.IOException;
23 import java.io.StringReader;
24 import java.io.StringWriter;
25 import java.util.List;
26
27 import org.apache.commons.csv.CSVFormat;
28 import org.apache.commons.csv.CSVParser;
29 import org.apache.commons.csv.CSVPrinter;
30 import org.apache.commons.csv.CSVRecord;
31 import org.junit.jupiter.api.Test;
32
33 public class JiraCsv249Test {
34
35 @Test
36 public void testJiraCsv249() throws IOException {
37 final CSVFormat csvFormat = CSVFormat.DEFAULT.builder().setEscape('\\').build();
38 final StringWriter stringWriter = new StringWriter();
39 try (CSVPrinter printer = new CSVPrinter(stringWriter, csvFormat)) {
40 printer.printRecord("foo \\", "bar");
41 }
42 final StringReader stringReader = new StringReader(stringWriter.toString());
43 final List<CSVRecord> records;
44 try (CSVParser parser = new CSVParser(stringReader, csvFormat)) {
45 records = parser.getRecords();
46 }
47 records.forEach(record -> {
48 assertEquals("foo \\", record.get(0));
49 assertEquals("bar", record.get(1));
50 });
51
52 }
53 }