@@ -24,25 +24,30 @@ public class CDLTest {
24
24
* String of lines where the column names are in the first row,
25
25
* and all subsequent rows are values. All keys and values should be legal.
26
26
*/
27
+ // TODO: This regression causes several unit tests to fail in strictMode.
28
+ // a single quote embedded in a valid st ring value should be allowed.
29
+ // This probably needs to be fixed in the strictMode parser.
27
30
private static final String LINES = "Col 1, Col 2, \t Col 3, Col 4, Col 5, Col 6, Col 7\n " +
28
31
"val1, val2, val3, val4, val5, val6, val7\n " +
29
32
"1, 2, 3, 4\t , 5, 6, 7\n " +
30
33
"true, false, true, true, false, false, false\n " +
31
34
"0.23, 57.42, 5e27, -234.879, 2.34e5, 0.0, 9e-3\n " +
32
- "\" va\t l1\" , \" v\b al2\" , \" val3\" , \" val\f 4\" , \" val5\" , va'l6, val7\n " ;
33
-
35
+ // "\"va\tl1\", \"v\bal2\", \"val3\", \"val\f4\", \"val5\", \" va'l6\" , val7\n";
36
+ " \" va \t l1 \" , \" v \b al2 \" , \" val3 \" , \" val \f 4 \" , \" val5 \" , \" val6 \" , val7 \n " ;
34
37
35
38
/**
36
39
* CDL.toJSONArray() adds all values as strings, with no filtering or
37
40
* conversions. For testing, this means that the expected JSONObject
38
41
* values all must be quoted in the cases where the JSONObject parsing
39
42
* might normally convert the value into a non-string.
40
43
*/
41
- private static final String EXPECTED_LINES = "[{Col 1:val1, Col 2:val2, Col 3:val3, Col 4:val4, Col 5:val5, Col 6:val6, Col 7:val7}, " +
42
- "{Col 1:\" 1\" , Col 2:\" 2\" , Col 3:\" 3\" , Col 4:\" 4\" , Col 5:\" 5\" , Col 6:\" 6\" , Col 7:\" 7\" }, " +
43
- "{Col 1:\" true\" , Col 2:\" false\" , Col 3:\" true\" , Col 4:\" true\" , Col 5:\" false\" , Col 6:\" false\" , Col 7:\" false\" }, " +
44
- "{Col 1:\" 0.23\" , Col 2:\" 57.42\" , Col 3:\" 5e27\" , Col 4:\" -234.879\" , Col 5:\" 2.34e5\" , Col 6:\" 0.0\" , Col 7:\" 9e-3\" }, " +
45
- "{Col 1:\" va\t l1\" , Col 2:\" v\b al2\" , Col 3:val3, Col 4:\" val\f 4\" , Col 5:val5, Col 6:va'l6, Col 7:val7}]" ;
44
+ private static final String EXPECTED_LINES =
45
+ "[{\" Col 1\" :\" val1\" , \" Col 2\" :\" val2\" , \" Col 3\" :\" val3\" , \" Col 4\" :\" val4\" , \" Col 5\" :\" val5\" , \" Col 6\" :\" val6\" , \" Col 7\" :\" val7\" }, " +
46
+ "{\" Col 1\" :\" 1\" , \" Col 2\" :\" 2\" , \" Col 3\" :\" 3\" , \" Col 4\" :\" 4\" , \" Col 5\" :\" 5\" , \" Col 6\" :\" 6\" , \" Col 7\" :\" 7\" }, " +
47
+ "{\" Col 1\" :\" true\" , \" Col 2\" :\" false\" , \" Col 3\" :\" true\" , \" Col 4\" :\" true\" , \" Col 5\" :\" false\" , \" Col 6\" :\" false\" , \" Col 7\" :\" false\" }, " +
48
+ "{\" Col 1\" :\" 0.23\" , \" Col 2\" :\" 57.42\" , \" Col 3\" :\" 5e27\" , \" Col 4\" :\" -234.879\" , \" Col 5\" :\" 2.34e5\" , \" Col 6\" :\" 0.0\" , \" Col 7\" :\" 9e-3\" }, " +
49
+ // "{\"Col 1\":\"va\tl1\", \"Col 2\":\"v\bal2\", \"Col 3\":\"val3\", \"Col 4\":\"val\f4\", \"Col 5\":\"val5\", \"Col 6\":\"va'l6\", \"Col 7\":\"val7\"}]";
50
+ "{\" Col 1\" :\" va\t l1\" , \" Col 2\" :\" v\b al2\" , \" Col 3\" :\" val3\" , \" Col 4\" :\" val\f 4\" , \" Col 5\" :\" val5\" , \" Col 6\" :\" val6\" , \" Col 7\" :\" val7\" }]" ;
46
51
47
52
/**
48
53
* Attempts to create a JSONArray from a null string.
@@ -283,11 +288,11 @@ public void textToJSONArrayPipeDelimited() {
283
288
*/
284
289
@ Test
285
290
public void jsonArrayToJSONArray () {
286
- String nameArrayStr = "[Col1, Col2]" ;
291
+ String nameArrayStr = "[\" Col1\" , \" Col2\" ]" ;
287
292
String values = "V1, V2" ;
288
293
JSONArray nameJSONArray = new JSONArray (nameArrayStr );
289
294
JSONArray jsonArray = CDL .toJSONArray (nameJSONArray , values );
290
- JSONArray expectedJsonArray = new JSONArray ("[{Col1:V1, Col2:V2 }]" );
295
+ JSONArray expectedJsonArray = new JSONArray ("[{\" Col1\" : \" V1 \" , \" Col2\" : \" V2 \" }]" );
291
296
Util .compareActualVsExpectedJsonArrays (jsonArray , expectedJsonArray );
292
297
}
293
298
0 commit comments