@@ -49,7 +49,30 @@ public void testSimpleHeader() throws Exception
4949 }
5050
5151 // But! Can change header name trimming:
52- // [dataformats-text#31]: Allow disabling header name trimming
52+ // [dataformats-text#31]: Allow disabling header row trimming
53+ try (CsvParser parser = (CsvParser ) MAPPER .reader ()
54+ .without (CsvParser .Feature .TRIM_HEADER_SPACES )
55+ .createParser (
56+ "name, age,other \n foo,2,xyz\n " )) {
57+ // need to enable first-line-as-schema handling:
58+ parser .setSchema (CsvSchema .emptySchema ().withHeader ());
59+ assertToken (JsonToken .START_OBJECT , parser .nextToken ());
60+ CsvSchema schema = parser .getSchema ();
61+ assertEquals (3 , schema .size ());
62+
63+ // Verify header names are NOT trimmed when disabled
64+ assertEquals ("name" , schema .columnName (0 ));
65+ assertEquals (" age" , schema .columnName (1 ));
66+ assertEquals ("other " , schema .columnName (2 ));
67+
68+ assertEquals ("name" , parser .nextFieldName ());
69+ assertEquals ("foo" , parser .nextTextValue ());
70+ assertEquals (" age" , parser .nextFieldName ());
71+ assertEquals ("2" , parser .nextTextValue ());
72+ assertEquals ("other " , parser .nextFieldName ());
73+ assertEquals ("xyz" , parser .nextTextValue ());
74+ assertToken (JsonToken .END_OBJECT , parser .nextToken ());
75+ }
5376 }
5477
5578 public void testSimpleQuotes () throws Exception
0 commit comments