feat(expect): add Set support to toBeOneOf (#8906) · vitest-dev/vitest@a415d03
@@ -636,7 +636,9 @@ describe('toBeOneOf()', () => {
636636expect(0).toBeOneOf([0, 1, 2])
637637expect(0).toBeOneOf([expect.any(Number)])
638638expect('apple').toBeOneOf(['apple', 'banana', 'orange'])
639+expect('apple').toBeOneOf(new Set(['apple', 'banana', 'orange']))
639640expect('apple').toBeOneOf([expect.any(String)])
641+expect('apple').toBeOneOf(new Set([expect.any(String)]))
640642expect(true).toBeOneOf([true, false])
641643expect(true).toBeOneOf([expect.any(Boolean)])
642644expect(null).toBeOneOf([expect.any(Object)])
@@ -647,15 +649,19 @@ describe('toBeOneOf()', () => {
647649expect(3).not.toBeOneOf([0, 1, 2])
648650expect(3).not.toBeOneOf([expect.any(String)])
649651expect('mango').not.toBeOneOf(['apple', 'banana', 'orange'])
652+expect('mango').not.toBeOneOf(new Set(['apple', 'banana', 'orange']))
650653expect('mango').not.toBeOneOf([expect.any(Number)])
654+expect('mango').not.toBeOneOf(new Set([expect.any(Number)]))
651655expect(null).not.toBeOneOf([undefined])
652656})
653657654658it.fails('fail with missing negotiation', () => {
655659expect(3).toBeOneOf([0, 1, 2])
656660expect(3).toBeOneOf([expect.any(String)])
657661expect('mango').toBeOneOf(['apple', 'banana', 'orange'])
662+expect('mango').toBeOneOf(new Set(['apple', 'banana', 'orange']))
658663expect('mango').toBeOneOf([expect.any(Number)])
664+expect('mango').toBeOneOf(new Set([expect.any(Number)]))
659665expect(null).toBeOneOf([undefined])
660666})
661667