import { expect } from 'chai'; import { parseCommaSeparatedKeyValue } from '../lib/browser/parse-features-string'; describe('feature-string parsing', () => { it('is indifferent to whitespace around keys and values', () => { const checkParse = (string: string, parsed: Record) => { const features = parseCommaSeparatedKeyValue(string); expect(features).to.deep.equal(parsed); }; checkParse('a=yes,c=d', { a: true, c: 'd' }); checkParse('a=yes ,c=d', { a: true, c: 'd' }); checkParse('a=yes, c=d', { a: true, c: 'd' }); checkParse('a=yes , c=d', { a: true, c: 'd' }); checkParse(' a=yes , c=d', { a: true, c: 'd' }); checkParse(' a= yes , c=d', { a: true, c: 'd' }); checkParse(' a = yes , c=d', { a: true, c: 'd' }); checkParse(' a = yes , c =d', { a: true, c: 'd' }); checkParse(' a = yes , c = d', { a: true, c: 'd' }); checkParse(' a = yes , c = d ', { a: true, c: 'd' }); }); });