import { describe, it, expect } from 'vitest'; import { convertString } from '../convert-string'; const s = convertString(); describe('convertString', () => { describe('toSlug', () => { it('пробелы → дефисы', () => { expect(s.toSlug('Big Tits')).toBe('big-tits'); }); it('дефисы → подчёркивания', () => { expect(s.toSlug('A-B')).toBe('a_b'); }); it('подчёркивания → тильда', () => { expect(s.toSlug('a_b')).toBe('a~b'); }); }); describe('fromSlug', () => { it('дефисы → пробелы', () => { expect(s.fromSlug('big-tits')).toBe('big tits'); }); it('подчёркивания → дефисы', () => { expect(s.fromSlug('a_b')).toBe('a-b'); }); it('тильда → подчёркивание', () => { expect(s.fromSlug('a~b')).toBe('a_b'); }); }); describe('toSnakeCase', () => { it('camelCase', () => { expect(s.toSnakeCase('bigTits')).toBe('big_tits'); }); it('пробелы', () => { expect(s.toSnakeCase('big tits')).toBe('big_tits'); }); it('дефисы', () => { expect(s.toSnakeCase('big-tits')).toBe('big_tits'); }); }); describe('toKebabCase', () => { it('camelCase', () => { expect(s.toKebabCase('bigTits')).toBe('big-tits'); }); it('подчёркивания', () => { expect(s.toKebabCase('big_tits')).toBe('big-tits'); }); it('пробелы', () => { expect(s.toKebabCase('big tits')).toBe('big-tits'); }); }); describe('toCapitalize', () => { it('одно слово', () => { expect(s.toCapitalize('teen')).toBe('Teen'); }); it('несколько слов', () => { expect(s.toCapitalize('big tits')).toBe('Big Tits'); }); }); describe('roundtrip', () => { it('toSlug → fromSlug', () => { expect(s.fromSlug(s.toSlug('Big Tits'))).toBe('big tits'); }); }); });