diff --git a/packages/form-core/tests/utils.spec.ts b/packages/form-core/tests/utils.spec.ts index 229e7cdd9..a545fd719 100644 --- a/packages/form-core/tests/utils.spec.ts +++ b/packages/form-core/tests/utils.spec.ts @@ -692,6 +692,67 @@ describe('evaluate', () => { const dateObjectFalse = evaluate({ date: date1 }, { date: date3 }) expect(dateObjectFalse).toEqual(false) }) + + it('should test equality between Map objects', () => { + const map1 = new Map([ + ['a', 1], + ['b', 2], + ]) + const map2 = new Map([ + ['a', 1], + ['b', 2], + ]) + expect(evaluate(map1, map2)).toEqual(true) + + const emptyMap1 = new Map() + const emptyMap2 = new Map() + expect(evaluate(emptyMap1, emptyMap2)).toEqual(true) + + const mapSmall = new Map([['a', 1]]) + const mapLarge = new Map([ + ['a', 1], + ['b', 2], + ]) + expect(evaluate(mapSmall, mapLarge)).toEqual(false) + + const mapA = new Map([ + ['a', 1], + ['b', 2], + ]) + const mapC = new Map([ + ['a', 1], + ['c', 2], + ]) + expect(evaluate(mapA, mapC)).toEqual(false) + + const mapVal1 = new Map([ + ['a', 1], + ['b', 2], + ]) + const mapVal2 = new Map([ + ['a', 1], + ['b', 3], + ]) + expect(evaluate(mapVal1, mapVal2)).toEqual(false) + }) + + it('should test equality between Set objects', () => { + const set1 = new Set([1, 2, 3]) + const set2 = new Set([1, 2, 3]) + expect(evaluate(set1, set2)).toEqual(true) + + const emptySet1 = new Set() + const emptySet2 = new Set() + expect(evaluate(emptySet1, emptySet2)).toEqual(true) + + const setSmall = new Set([1, 2]) + const setLarge = new Set([1, 2, 3]) + expect(evaluate(setSmall, setLarge)).toEqual(false) + + const setA = new Set([1, 2, 3]) + const setB = new Set([1, 2, 4]) + expect(evaluate(setA, setB)).toEqual(false) + }) }) describe('concatenatePaths', () => {