123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179 |
- /**
- * CSV tests.
- *
- * @author n1474335 [n1474335@gmail.com]
- *
- * @copyright Crown Copyright 2018
- * @license Apache-2.0
- */
- import TestRegister from "../../TestRegister";
- const EXAMPLE_CSV = `A,B,C,D,E,F\r
- 1,2,3,4,5,6\r
- ",",;,',"""",,\r
- """hello""","a""1","multi\r
- line",,,end\r
- `;
- TestRegister.addTests([
- {
- name: "CSV to JSON: Array of dictionaries",
- input: EXAMPLE_CSV,
- expectedOutput: JSON.stringify([
- {
- "A": "1",
- "B": "2",
- "C": "3",
- "D": "4",
- "E": "5",
- "F": "6"
- },
- {
- "A": ",",
- "B": ";",
- "C": "'",
- "D": "\"",
- "E": "",
- "F": ""
- },
- {
- "A": "\"hello\"",
- "B": "a\"1",
- "C": "multi\r\nline",
- "D": "",
- "E": "",
- "F": "end"
- }
- ], null, 4),
- recipeConfig: [
- {
- op: "CSV to JSON",
- args: [",", "\r\n", "Array of dictionaries"],
- }
- ],
- },
- {
- name: "CSV to JSON: Array of arrays",
- input: EXAMPLE_CSV,
- expectedOutput: JSON.stringify([
- [
- "A",
- "B",
- "C",
- "D",
- "E",
- "F"
- ],
- [
- "1",
- "2",
- "3",
- "4",
- "5",
- "6"
- ],
- [
- ",",
- ";",
- "'",
- "\"",
- "",
- ""
- ],
- [
- "\"hello\"",
- "a\"1",
- "multi\r\nline",
- "",
- "",
- "end"
- ]
- ], null, 4),
- recipeConfig: [
- {
- op: "CSV to JSON",
- args: [",", "\r\n", "Array of arrays"],
- }
- ],
- },
- {
- name: "JSON to CSV: Array of dictionaries",
- input: JSON.stringify([
- {
- "A": "1",
- "B": "2",
- "C": "3",
- "D": "4",
- "E": "5",
- "F": "6"
- },
- {
- "A": ",",
- "B": ";",
- "C": "'",
- "D": "\"",
- "E": "",
- "F": ""
- },
- {
- "A": "\"hello\"",
- "B": "a\"1",
- "C": "multi\r\nline",
- "D": "",
- "E": "",
- "F": "end"
- }
- ]),
- expectedOutput: EXAMPLE_CSV,
- recipeConfig: [
- {
- op: "JSON to CSV",
- args: [",", "\r\n"],
- }
- ],
- },
- {
- name: "JSON to CSV: Array of arrays",
- input: JSON.stringify([
- [
- "A",
- "B",
- "C",
- "D",
- "E",
- "F"
- ],
- [
- "1",
- "2",
- "3",
- "4",
- "5",
- "6"
- ],
- [
- ",",
- ";",
- "'",
- "\"",
- "",
- ""
- ],
- [
- "\"hello\"",
- "a\"1",
- "multi\r\nline",
- "",
- "",
- "end"
- ]
- ]),
- expectedOutput: EXAMPLE_CSV,
- recipeConfig: [
- {
- op: "JSON to CSV",
- args: [",", "\r\n"],
- }
- ],
- },
- ]);
|