import { splitWhitespace } from './splitWhitespace'; describe('test splitWhitespace() function', () => { it('empty string', () => { const test = ''; expect(splitWhitespace(test)).toStrictEqual(null); }); it('just space', () => { const test = ' '; expect(splitWhitespace(test)).toStrictEqual(null); }); it('1 item', () => { const test = 'test'; expect(splitWhitespace(test)).toStrictEqual(['test']); }); it('2 items', () => { const test = 'test test'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test']); }); it('2 items and quoted string', () => { const test = 'test test "more test"'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test', '"more test"']); }); it('2 sapces', () => { const test = 'test test "more test"'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test', '"more test"']); }); it('quotes without spaces', () => { const test = 'test test "moreTest"'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test', '"moreTest"']); }); it('escaped quotes', () => { const test = 'test test "more \\" test"'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test', '"more " test"']); }); it('missing end quotes', () => { const test = 'test test "more test'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test', '"more test']); }); it('missing start quotes', () => { const test = 'test test more test"'; expect(splitWhitespace(test)).toStrictEqual(['test', 'test', 'more', 'test"']); }); });