UNPKG

diacritic-search-ts

Version:

A Node.js/TypeScript package for diacritic-insensitive search using regex

36 lines (35 loc) 1.92 kB
// src/__tests__/maps.test.ts import { slovakDiacriticMap, czechDiacriticMap, slovakCzechDiacriticMap } from '../maps.js'; // Použite .js rozšírenie pre ESM describe('Diacritic Maps', () => { it('slovakDiacriticMap should contain expected Slovak diacritics', () => { expect(slovakDiacriticMap.a).toBe('[a,á,ä]'); expect(slovakDiacriticMap.l).toBe('[l,ľ,ĺ]'); expect(slovakDiacriticMap.r).toBe('[r,ŕ]'); expect(slovakDiacriticMap.z).toBe('[z,ž]'); // Check for some non-existent entries expect(slovakDiacriticMap.q).toBeUndefined(); }); it('czechDiacriticMap should contain expected Czech diacritics', () => { expect(czechDiacriticMap.a).toBe('[a,á]'); expect(czechDiacriticMap.e).toBe('[e,é,ě]'); expect(czechDiacriticMap.r).toBe('[r,ř]'); expect(czechDiacriticMap.z).toBe('[z,ž]'); // Ensure Slovak specific are not in Czech map if they shouldn't be expect(czechDiacriticMap.ľ).toBeUndefined(); // Assuming 'ľ' is not a key }); it('slovakCzechDiacriticMap should combine both and handle overlaps', () => { // Should have Slovak 'ä' expect(slovakCzechDiacriticMap.a).toBe('[a,á,ä]'); // Should have Czech 'ě' expect(slovakCzechDiacriticMap.e).toBe('[e,é,ě]'); // Should have Slovak 'ľ' and 'ĺ' expect(slovakCzechDiacriticMap.l).toBe('[l,ľ,ĺ]'); // Should have Slovak 'ŕ' and Czech 'ř' expect(slovakCzechDiacriticMap.r).toBe('[r,ŕ,ř]'); }); it('all maps should have string values for regex patterns', () => { Object.values(slovakDiacriticMap).forEach(val => expect(typeof val).toBe('string')); Object.values(czechDiacriticMap).forEach(val => expect(typeof val).toBe('string')); Object.values(slovakCzechDiacriticMap).forEach(val => expect(typeof val).toBe('string')); }); });