|
| 1 | +import { splitHeader } from "./split-header"; |
| 2 | + |
| 3 | +describe(splitHeader.name, () => { |
| 4 | + it("should split a string by commas and trim only the comma delimited outer values", () => { |
| 5 | + expect(splitHeader("abc")).toEqual(["abc"]); |
| 6 | + expect(splitHeader("a,b,c")).toEqual(["a", "b", "c"]); |
| 7 | + expect(splitHeader("a, b, c")).toEqual(["a", "b", "c"]); |
| 8 | + expect(splitHeader("a , b , c")).toEqual(["a", "b", "c"]); |
| 9 | + expect(splitHeader(`a , b , " c "`)).toEqual(["a", "b", " c "]); |
| 10 | + expect(splitHeader(` a , , b`)).toEqual(["a", "", "b"]); |
| 11 | + expect(splitHeader(`,,`)).toEqual(["", "", ""]); |
| 12 | + expect(splitHeader(` , , `)).toEqual(["", "", ""]); |
| 13 | + }); |
| 14 | + it("should split a string by commas that are not in quotes, and remove outer quotes", () => { |
| 15 | + expect(splitHeader('"b,c", "\\"def\\"", a')).toEqual(["b,c", '"def"', "a"]); |
| 16 | + expect(splitHeader('"a,b,c", ""def"", "a,b ,c"')).toEqual(["a,b,c", '"def"', "a,b ,c"]); |
| 17 | + expect(splitHeader(`""`)).toEqual([``]); |
| 18 | + expect(splitHeader(``)).toEqual([``]); |
| 19 | + expect(splitHeader(`\\"`)).toEqual([`"`]); |
| 20 | + expect(splitHeader(`"`)).toEqual([`"`]); |
| 21 | + }); |
| 22 | +}); |
0 commit comments