UNPKG

n4s

Version:

typed schema validation version of enforce

145 lines (120 loc) 3.09 kB
import { describe, expect, it } from 'vitest'; import { append, normalizeWhitespace, prepend, removeNonAlphanumeric, removeNonDigits, removeNonLetters, replace, replaceAll, split, stringParsers, stripWhitespace, toCamel, toCapitalized, toKebab, toLower, toPascal, toSnake, toTitle, toUpper, trim, trimEnd, trimStart, } from '../stringParsers'; describe('string parsers', () => { it('exports all string parser functions', () => { expect(Object.keys(stringParsers).sort()).toEqual([ 'append', 'normalizeWhitespace', 'prepend', 'removeNonAlphanumeric', 'removeNonDigits', 'removeNonLetters', 'replace', 'replaceAll', 'split', 'stripWhitespace', 'toCamel', 'toCapitalized', 'toKebab', 'toLower', 'toPascal', 'toSnake', 'toTitle', 'toUpper', 'trim', 'trimEnd', 'trimStart', ]); }); it('append', () => { expect(append('vest', '-js').type).toBe('vest-js'); }); it('normalizeWhitespace', () => { expect(normalizeWhitespace(' v e s t ').type).toBe('v e s t'); }); it('prepend', () => { expect(prepend('vest', 'hello-').type).toBe('hello-vest'); }); it('removeNonAlphanumeric', () => { expect(removeNonAlphanumeric('v-e_s t!42').type).toBe('vest42'); }); it('removeNonDigits', () => { expect(removeNonDigits('v1e2s3t').type).toBe('123'); }); it('removeNonLetters', () => { expect(removeNonLetters('v1e_2s-3t!').type).toBe('vest'); }); it('replace', () => { expect(replace('vest rocks', 'rocks', 'rules').type).toBe('vest rules'); }); it('replaceAll', () => { expect(replaceAll('vest vest vest', 'vest', 'n4s').type).toBe( 'n4s n4s n4s', ); }); it('split', () => { expect(split('a,b,c', ',', 2).type).toEqual(['a', 'b']); }); it('stripWhitespace', () => { expect(stripWhitespace(' v e s t ').type).toBe('vest'); }); it('toCamel', () => { expect(toCamel('hello_world-test').type).toBe('helloWorldTest'); }); it('toCamel handles leading whitespace', () => { expect(toCamel(' foo bar').type).toBe('fooBar'); }); it('toCapitalized', () => { expect(toCapitalized('vEST').type).toBe('Vest'); }); it('toKebab', () => { expect(toKebab('helloWorld Test').type).toBe('hello-world-test'); }); it('toLower', () => { expect(toLower('VeSt').type).toBe('vest'); }); it('toPascal', () => { expect(toPascal('hello_world-test').type).toBe('HelloWorldTest'); }); it('toSnake', () => { expect(toSnake('helloWorld Test').type).toBe('hello_world_test'); }); it('toTitle', () => { expect(toTitle('hELLO woRLD').type).toBe('Hello World'); }); it('toUpper', () => { expect(toUpper('VeSt').type).toBe('VEST'); }); it('trim', () => { expect(trim(' vest ').type).toBe('vest'); }); it('trimEnd', () => { expect(trimEnd('vest ').type).toBe('vest'); }); it('trimStart', () => { expect(trimStart(' vest').type).toBe('vest'); }); });