diff options
| author | Hazelnoot <acomputerdog@gmail.com> | 2025-05-25 12:34:09 -0400 |
|---|---|---|
| committer | Hazelnoot <acomputerdog@gmail.com> | 2025-05-28 21:31:40 -0400 |
| commit | 35dfde838be2dd50ee37d420f87a0cac917e621c (patch) | |
| tree | d637d0c156384d2021c8d207c8b765dcc847df70 /packages/backend/test/unit/misc | |
| parent | minor optimization to diff-arrays (diff) | |
| download | sharkey-35dfde838be2dd50ee37d420f87a0cac917e621c.tar.gz sharkey-35dfde838be2dd50ee37d420f87a0cac917e621c.tar.bz2 sharkey-35dfde838be2dd50ee37d420f87a0cac917e621c.zip | |
add function diffArraysSimple for more efficient change detection
Diffstat (limited to 'packages/backend/test/unit/misc')
| -rw-r--r-- | packages/backend/test/unit/misc/diff-arrays.ts | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/packages/backend/test/unit/misc/diff-arrays.ts b/packages/backend/test/unit/misc/diff-arrays.ts index a2dee50652..b6db5e2eca 100644 --- a/packages/backend/test/unit/misc/diff-arrays.ts +++ b/packages/backend/test/unit/misc/diff-arrays.ts @@ -3,7 +3,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ -import { diffArrays } from '@/misc/diff-arrays.js'; +import { diffArrays, diffArraysSimple } from '@/misc/diff-arrays.js'; describe(diffArrays, () => { it('should return empty result when both inputs are null', () => { @@ -51,3 +51,41 @@ describe(diffArrays, () => { expect(result.removed).toEqual(['b', 'd']); }); }); + +describe(diffArraysSimple, () => { + it('should return false when both inputs are null', () => { + const result = diffArraysSimple(null, null); + expect(result).toBe(false); + }); + + it('should return false when both inputs are empty', () => { + const result = diffArraysSimple([], []); + expect(result).toBe(false); + }); + + it('should return true when before is populated and after is empty', () => { + const result = diffArraysSimple([1, 2, 3], []); + expect(result).toBe(true); + }); + + it('should return true when before is empty and after is populated', () => { + const result = diffArraysSimple([], [1, 2, 3]); + expect(result).toBe(true); + }); + + it('should return true when values have changed', () => { + const result = diffArraysSimple( + ['a', 'a', 'b', 'c'], + ['a', 'b', 'c', 'd'], + ); + expect(result).toBe(true); + }); + + it('should return false when values have not changed', () => { + const result = diffArraysSimple( + ['a', 'a', 'b', 'c'], + ['a', 'b', 'c', 'c'], + ); + expect(result).toBe(false); + }); +}); |