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