From dfed1434ebc06a630cd7bde6609e3b122bf81de3 Mon Sep 17 00:00:00 2001 From: Akshay Nair Date: Thu, 17 Feb 2022 21:31:29 +0530 Subject: feat(replace): adds replaceAll function --- tests/basic.spec.ts | 31 +++++++++++++++++++++++++++++++ tests/replace.spec.ts | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 tests/replace.spec.ts (limited to 'tests') diff --git a/tests/basic.spec.ts b/tests/basic.spec.ts index f02169c..67f63d6 100644 --- a/tests/basic.spec.ts +++ b/tests/basic.spec.ts @@ -219,6 +219,37 @@ describe('Basic tests', () => { index: 6, }, ]) + + expect( + matchAll(/"start", \s, \n/, [ + 1, + 'start', + 'x', + 2, + 'start', + 3, + 'start', + 'y', + 4, + ]).groups, + ).toEqual([ + { + value: [ + [{ value: 'start', index: 1 }], + [{ value: 'x', index: 2 }], + [{ value: 2, index: 3 }], + ], + index: 1, + }, + { + value: [ + [{ value: 'start', index: 6 }], + [{ value: 'y', index: 7 }], + [{ value: 4, index: 8 }], + ], + index: 6, + }, + ]) }) it('should match min-max quantified expressions', () => { diff --git a/tests/replace.spec.ts b/tests/replace.spec.ts new file mode 100644 index 0000000..dd82eaa --- /dev/null +++ b/tests/replace.spec.ts @@ -0,0 +1,39 @@ +import { jlog } from '../src/utils' +import { replaceAll } from '../src' + +describe('Basic tests', () => { + it('should', () => { + expect( + replaceAll(/"start", \s, \n/, _ => ['replaced'], [ + 1, + 'start', + 'x', + 2, + 'start', + 3, + 'start', + 'y', + 4, + ]), + ).toEqual([1, 'replaced', 'start', 3, 'replaced']) + }) + + it('should replace matching items', () => { + expect(replaceAll(/\F/, (_x, _i) => [69], [1, 5, 0, 0, 2, 9, 0])).toEqual([ + 1, 5, 69, 69, 2, 9, 69, + ]) + + expect( + replaceAll(/\s+/, (_x, m) => [(m.value as any).join(',')], [ + 1, + 'wow', + 'test', + [], + '0', + 2, + '', + 'nice', + ]), + ).toEqual([1, 'wow,test', [], '0', 2, ',nice']) + }) +}) -- cgit v1.3.1