import { escapeRegExp } from './escapeRegExp'; describe('escapeRegExp', () => { it('should keep strings with letters only unchanged', () => { expect(escapeRegExp('word')).toBe('word'); }); it('should escape slashes', () => { expect(escapeRegExp('/slashes/')).toBe('\\/slashes\\/'); expect(escapeRegExp('\\backslashes\\')).toBe('\\\\backslashes\\\\'); expect(escapeRegExp('\\border of word')).toBe('\\\\border of word'); }); it('should escape special group', () => { expect(escapeRegExp('(?:non-capturing)')).toBe('\\(\\?\\:non\\-capturing\\)'); expect(new RegExp(`${escapeRegExp('(?:')}([^)]+)`).exec('(?:non-capturing)')?.[1]).toBe('non-capturing'); expect(escapeRegExp('(?=positive-lookahead)')).toBe('\\(\\?\\=positive\\-lookahead\\)'); expect(new RegExp(`${escapeRegExp('(?=')}([^)]+)`).exec('(?=positive-lookahead)')?.[1]).toBe('positive-lookahead'); expect(escapeRegExp('(?<=positive-lookbehind)')).toBe('\\(\\?<\\=positive\\-lookbehind\\)'); expect(new RegExp(`${escapeRegExp('(?<=')}([^)]+)`).exec('(?<=positive-lookbehind)')?.[1]).toBe('positive-lookbehind'); expect(escapeRegExp('(?!negative-lookahead)')).toBe('\\(\\?\\!negative\\-lookahead\\)'); expect(new RegExp(`${escapeRegExp('(?!')}([^)]+)`).exec('(?!negative-lookahead)')?.[1]).toBe('negative-lookahead'); expect(escapeRegExp('(?')).exec('