UNPKG

@gobvoz/cli-fsd

Version:

Utility to create slices in Feature-Sliced Design methodology. Expect, that you have already installed `react`, `typescript`, `@reduxjs/toolkit`, `@reduxjs/toolkit-query`, `i18n` and use `module.scss` structure.

39 lines (37 loc) 1.61 kB
import { camelCase, pascalCase, kebabCase, snakeCase } from '../utils/case-helper'; describe('case-helper', () => { it('should work with empty string', () => { expect(camelCase('')).toEqual(''); expect(pascalCase('')).toEqual(''); expect(kebabCase('')).toEqual(''); expect(snakeCase('')).toEqual(''); }); it('camelCase should work', () => { expect(camelCase(' foo Bar ')).toEqual('fooBar'); expect(camelCase('--foo-bar--')).toEqual('fooBar'); expect(camelCase('__FOO_BAR__')).toEqual('fooBar'); expect(camelCase('FooBar')).toEqual('fooBar'); expect(camelCase('Fo9oB2ar')).toEqual('fo9oB2ar'); }); it('pascalCase should work', () => { expect(pascalCase(' foo Bar ')).toEqual('FooBar'); expect(pascalCase('--foo-bar--')).toEqual('FooBar'); expect(pascalCase('__FOO_BAR__')).toEqual('FooBar'); expect(pascalCase('FooBar')).toEqual('FooBar'); expect(pascalCase('Fo9oB2ar')).toEqual('Fo9oB2ar'); }); it('kebabCase should work', () => { expect(kebabCase(' foo Bar ')).toEqual('foo-bar'); expect(kebabCase('--foo-bar--')).toEqual('foo-bar'); expect(kebabCase('__FOO_BAR__')).toEqual('foo-bar'); expect(kebabCase('FooBar')).toEqual('foo-bar'); expect(kebabCase('Fo9oB2ar')).toEqual('fo9o-b2ar'); }); it('snakeCase should work', () => { expect(snakeCase(' foo Bar ')).toEqual('foo_bar'); expect(snakeCase('--foo-bar--')).toEqual('foo_bar'); expect(snakeCase('__FOO_BAR__')).toEqual('foo_bar'); expect(snakeCase('FooBar')).toEqual('foo_bar'); expect(snakeCase('Fo9oB2ar')).toEqual('fo9o_b2ar'); }); });