Skip to content

Commit 1557ff2

Browse files
committed
Fix not addressing to Sets as object without keys
1 parent 38bb798 commit 1557ff2

2 files changed

Lines changed: 30 additions & 1 deletion

File tree

packages/expect-utils/src/__tests__/utils.test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,34 @@ describe('subsetEquality()', () => {
401401
});
402402
});
403403
});
404+
405+
describe('subset is not object with keys', () => {
406+
test('returns true if subset has keys', () => {
407+
expect(subsetEquality({foo: 'bar'}, {foo: 'bar'})).toBe(true);
408+
});
409+
test('returns true if subset has Symbols', () => {
410+
const symbol = Symbol('foo');
411+
expect(subsetEquality({[symbol]: 'bar'}, {[symbol]: 'bar'})).toBe(true);
412+
});
413+
test('returns undefined if subset has no keys', () => {
414+
expect(subsetEquality('foo', 'bar')).toBeUndefined();
415+
});
416+
test('returns undefined if subset is null', () => {
417+
expect(subsetEquality({foo: 'bar'}, null)).toBeUndefined();
418+
});
419+
test('returns undefined if subset is Error', () => {
420+
expect(subsetEquality({foo: 'bar'}, new Error())).toBeUndefined();
421+
});
422+
test('returns undefined if subset is Array', () => {
423+
expect(subsetEquality({foo: 'bar'}, [])).toBeUndefined();
424+
});
425+
test('returns undefined if subset is Date', () => {
426+
expect(subsetEquality({foo: 'bar'}, new Date())).toBeUndefined();
427+
});
428+
test('returns undefined if subset is Set', () => {
429+
expect(subsetEquality({foo: 'bar'}, new Set())).toBeUndefined();
430+
});
431+
});
404432
});
405433

406434
describe('iterableEquality', () => {

packages/expect-utils/src/utils.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,8 @@ const isObjectWithKeys = (a: any) =>
336336
isObject(a) &&
337337
!(a instanceof Error) &&
338338
!Array.isArray(a) &&
339-
!(a instanceof Date);
339+
!(a instanceof Date) &&
340+
!(a instanceof Set);
340341

341342
export const subsetEquality = (
342343
object: unknown,

0 commit comments

Comments
 (0)