add function diffArraysSimple for more efficient change detection
This commit is contained in:
parent
8a2ed3bc86
commit
35dfde838b
3 changed files with 89 additions and 13 deletions
|
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue