feat(expect): add Set support to toBeOneOf (#8906) · vitest-dev/vitest@a415d03

@@ -636,7 +636,9 @@ describe('toBeOneOf()', () => {

636636

expect(0).toBeOneOf([0, 1, 2])

637637

expect(0).toBeOneOf([expect.any(Number)])

638638

expect('apple').toBeOneOf(['apple', 'banana', 'orange'])

639+

expect('apple').toBeOneOf(new Set(['apple', 'banana', 'orange']))

639640

expect('apple').toBeOneOf([expect.any(String)])

641+

expect('apple').toBeOneOf(new Set([expect.any(String)]))

640642

expect(true).toBeOneOf([true, false])

641643

expect(true).toBeOneOf([expect.any(Boolean)])

642644

expect(null).toBeOneOf([expect.any(Object)])

@@ -647,15 +649,19 @@ describe('toBeOneOf()', () => {

647649

expect(3).not.toBeOneOf([0, 1, 2])

648650

expect(3).not.toBeOneOf([expect.any(String)])

649651

expect('mango').not.toBeOneOf(['apple', 'banana', 'orange'])

652+

expect('mango').not.toBeOneOf(new Set(['apple', 'banana', 'orange']))

650653

expect('mango').not.toBeOneOf([expect.any(Number)])

654+

expect('mango').not.toBeOneOf(new Set([expect.any(Number)]))

651655

expect(null).not.toBeOneOf([undefined])

652656

})

653657654658

it.fails('fail with missing negotiation', () => {

655659

expect(3).toBeOneOf([0, 1, 2])

656660

expect(3).toBeOneOf([expect.any(String)])

657661

expect('mango').toBeOneOf(['apple', 'banana', 'orange'])

662+

expect('mango').toBeOneOf(new Set(['apple', 'banana', 'orange']))

658663

expect('mango').toBeOneOf([expect.any(Number)])

664+

expect('mango').toBeOneOf(new Set([expect.any(Number)]))

659665

expect(null).toBeOneOf([undefined])

660666

})

661667