aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2022-02-17 21:31:29 +0530
committerAkshay Nair <phenax5@gmail.com>2022-02-17 21:31:29 +0530
commitdfed1434ebc06a630cd7bde6609e3b122bf81de3 (patch)
treee71b9bbc7f8389491389d3e5280f4bddb0e0ec8b /tests
parent996c8ad9de8186417d040fa59f189208b4311375 (diff)
downloadelxr-dfed1434ebc06a630cd7bde6609e3b122bf81de3.tar.gz
elxr-dfed1434ebc06a630cd7bde6609e3b122bf81de3.zip
feat(replace): adds replaceAll function
Diffstat (limited to 'tests')
-rw-r--r--tests/basic.spec.ts31
-rw-r--r--tests/replace.spec.ts39
2 files changed, 70 insertions, 0 deletions
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'])
+ })
+})