diff --git a/packages/vant/src/action-sheet/test/index.spec.ts b/packages/vant/src/action-sheet/test/index.spec.ts index 469de0b92..355084856 100644 --- a/packages/vant/src/action-sheet/test/index.spec.ts +++ b/packages/vant/src/action-sheet/test/index.spec.ts @@ -13,7 +13,7 @@ test('should emit select event after clicking option', async () => { wrapper.find('.van-action-sheet__item').trigger('click'); await nextTick(); - expect(wrapper.emitted('select')!.length).toEqual(1); + expect(wrapper.emitted('select')).toHaveLength(1); expect(wrapper.emitted('select')![0]).toEqual([ { name: 'Option', @@ -71,7 +71,7 @@ test('should emit cancel event after clicking cancel button', () => { }); wrapper.find('.van-action-sheet__cancel').trigger('click'); - expect(wrapper.emitted('cancel')!.length).toEqual(1); + expect(wrapper.emitted('cancel')).toHaveLength(1); }); test('should render subname correctly', () => { @@ -225,7 +225,7 @@ test('should close after clicking option if close-on-click-action prop is true', const option = wrapper.find('.van-action-sheet__item'); option.trigger('click'); - expect(wrapper.emitted('update:show')!.length).toEqual(1); + expect(wrapper.emitted('update:show')).toHaveLength(1); expect(wrapper.emitted('update:show')![0]).toEqual([false]); }); diff --git a/packages/vant/src/area/test/index.spec.js b/packages/vant/src/area/test/index.spec.js index 44b510316..55ed0cc27 100644 --- a/packages/vant/src/area/test/index.spec.js +++ b/packages/vant/src/area/test/index.spec.js @@ -116,10 +116,10 @@ test('should render two columns when columns-num prop is two', async () => { }, }); - expect(wrapper.findAll('.van-picker-column').length).toEqual(3); + expect(wrapper.findAll('.van-picker-column')).toHaveLength(3); await wrapper.setProps({ columnsNum: 2 }); - expect(wrapper.findAll('.van-picker-column').length).toEqual(2); + expect(wrapper.findAll('.van-picker-column')).toHaveLength(2); expect(wrapper.html()).toMatchSnapshot(); }); diff --git a/packages/vant/src/button/test/index.spec.ts b/packages/vant/src/button/test/index.spec.ts index e75e26aec..82493a380 100644 --- a/packages/vant/src/button/test/index.spec.ts +++ b/packages/vant/src/button/test/index.spec.ts @@ -5,7 +5,7 @@ test('should emit click event', () => { const wrapper = mount(Button); wrapper.trigger('click'); - expect(wrapper.emitted('click')!.length).toEqual(1); + expect(wrapper.emitted('click')).toHaveLength(1); }); test('should not emit click event when disabled', () => { diff --git a/packages/vant/src/card/test/index.spec.ts b/packages/vant/src/card/test/index.spec.ts index 31d55d844..9a56ff6f3 100644 --- a/packages/vant/src/card/test/index.spec.ts +++ b/packages/vant/src/card/test/index.spec.ts @@ -20,7 +20,7 @@ test('should emit click-thumb event after clicking thumb', () => { }); wrapper.find('.van-card__thumb').trigger('click'); - expect(wrapper.emitted('click-thumb')!.length).toEqual(1); + expect(wrapper.emitted('click-thumb')!).toHaveLength(1); }); test('should render price and num slot correctly', () => { diff --git a/packages/vant/src/contact-card/test/index.spec.ts b/packages/vant/src/contact-card/test/index.spec.ts index adfb153bd..e78e16564 100644 --- a/packages/vant/src/contact-card/test/index.spec.ts +++ b/packages/vant/src/contact-card/test/index.spec.ts @@ -4,7 +4,7 @@ import { mount } from '../../../test'; test('should emit click event when clicked', () => { const wrapper = mount(ContactCard); wrapper.trigger('click'); - expect(wrapper.emitted('click')!.length).toEqual(1); + expect(wrapper.emitted('click')).toHaveLength(1); }); test('should not emit click event when editable is false and clicked ', () => { diff --git a/packages/vant/src/contact-list/test/index.spec.ts b/packages/vant/src/contact-list/test/index.spec.ts index 4ad67d4e9..a9e3cfb6b 100644 --- a/packages/vant/src/contact-list/test/index.spec.ts +++ b/packages/vant/src/contact-list/test/index.spec.ts @@ -20,7 +20,7 @@ test('should render ContactList correctly', () => { test('should emit add event when add button is clicked', () => { const wrapper = mount(ContactList); wrapper.find('.van-contact-list__add').trigger('click'); - expect(wrapper.emitted('add')!.length).toEqual(1); + expect(wrapper.emitted('add')).toHaveLength(1); }); test('should emit select event when radio is clicked', () => { @@ -32,7 +32,7 @@ test('should emit select event when radio is clicked', () => { wrapper.find('.van-radio__icon').trigger('click'); - expect(wrapper.emitted('select')!.length).toEqual(1); + expect(wrapper.emitted('select')).toHaveLength(1); expect(wrapper.emitted('select')![0]).toEqual([contactInfo, 0]); }); @@ -45,6 +45,6 @@ test('should emit edit event when edit icon is clicked', () => { wrapper.find('.van-contact-list__edit').trigger('click'); - expect(wrapper.emitted('edit')!.length).toEqual(1); + expect(wrapper.emitted('edit')).toHaveLength(1); expect(wrapper.emitted('edit')![0]).toEqual([contactInfo, 0]); }); diff --git a/packages/vant/src/form/test/methods.spec.tsx b/packages/vant/src/form/test/methods.spec.tsx index 7066bab86..5a3b4d9ec 100644 --- a/packages/vant/src/form/test/methods.spec.tsx +++ b/packages/vant/src/form/test/methods.spec.tsx @@ -94,7 +94,7 @@ test('resetValidation method - reset all fields', async () => { formRef.value?.resetValidation(); await later(); const errors = form.findAll('.van-field__error-message'); - expect(errors.length).toEqual(0); + expect(errors).toHaveLength(0); } }); @@ -107,7 +107,7 @@ test('resetValidation method - reset two fields', async () => { formRef.value?.resetValidation(['A', 'B']); await later(); const errors = form.findAll('.van-field__error-message'); - expect(errors.length).toEqual(0); + expect(errors).toHaveLength(0); } }); @@ -119,11 +119,11 @@ test('resetValidation method - reset one field', async () => { } catch (err) { formRef.value?.resetValidation('A'); await later(); - expect(form.findAll('.van-field__error-message').length).toEqual(1); + expect(form.findAll('.van-field__error-message')).toHaveLength(1); formRef.value?.resetValidation('B'); await later(); - expect(form.findAll('.van-field__error-message').length).toEqual(0); + expect(form.findAll('.van-field__error-message')).toHaveLength(0); } }); diff --git a/packages/vant/src/image/test/index.spec.ts b/packages/vant/src/image/test/index.spec.ts index 96ceacf0d..18aa006f6 100644 --- a/packages/vant/src/image/test/index.spec.ts +++ b/packages/vant/src/image/test/index.spec.ts @@ -190,7 +190,7 @@ test('should render default slot correctly', () => { // setTimeout(() => { // hanlder({ el: null }); // hanlder({ el: wrapper.find('img').element }); -// expect(wrapper.emitted('load').length).toEqual(1); +// expect(wrapper.emitted('load')).toHaveLength(1); // expect(wrapper.html()).toMatchSnapshot(); // wrapper.unmount(); // }); @@ -217,7 +217,7 @@ test('should render default slot correctly', () => { // setTimeout(() => { // hanlder({ el: null }); // hanlder({ el: wrapper.find('img').element }); -// expect(wrapper.emitted('error').length).toEqual(1); +// expect(wrapper.emitted('error')).toHaveLength(1); // expect(wrapper.html()).toMatchSnapshot(); // wrapper.unmount(); // }); diff --git a/packages/vant/src/number-keyboard/test/index.spec.ts b/packages/vant/src/number-keyboard/test/index.spec.ts index 443fc3b6f..128496256 100644 --- a/packages/vant/src/number-keyboard/test/index.spec.ts +++ b/packages/vant/src/number-keyboard/test/index.spec.ts @@ -187,7 +187,7 @@ test('should limit max length of modelValue when using maxlength prop', async () clickKey(keys[1]); expect(onInput).toHaveBeenCalledTimes(1); - expect(wrapper.emitted('update:modelValue')!.length).toEqual(1); + expect(wrapper.emitted('update:modelValue')).toHaveLength(1); }); test('should not render delete key when show-delete-key prop is false', async () => { diff --git a/packages/vant/src/password-input/test/index.spec.ts b/packages/vant/src/password-input/test/index.spec.ts index 1fbcfea3d..ba637f5ab 100644 --- a/packages/vant/src/password-input/test/index.spec.ts +++ b/packages/vant/src/password-input/test/index.spec.ts @@ -4,7 +4,7 @@ import { PasswordInput } from '..'; test('should emit focus event when security is touched', () => { const wrapper = mount(PasswordInput); wrapper.find('.van-password-input__security').trigger('touchstart'); - expect(wrapper.emitted('focus')!.length).toEqual(1); + expect(wrapper.emitted('focus')).toHaveLength(1); }); test('should render error info correctly', () => { diff --git a/packages/vant/src/picker/test/index.spec.tsx b/packages/vant/src/picker/test/index.spec.tsx index 593a6b55a..b05018513 100644 --- a/packages/vant/src/picker/test/index.spec.tsx +++ b/packages/vant/src/picker/test/index.spec.tsx @@ -58,7 +58,7 @@ test('set picker values', () => { const vm = wrapper.vm as Record; expect(vm.getColumnValues(-1)).toEqual(undefined); - expect(vm.getColumnValues(1).length).toEqual(6); + expect(vm.getColumnValues(1)).toHaveLength(6); expect(vm.getColumnValue(1)).toEqual('1990'); vm.setColumnValue(0, 'normal'); @@ -71,11 +71,11 @@ test('set picker values', () => { expect(vm.getColumnValue(1)).toEqual('1991'); vm.setColumnValues(0, ['vip', 'normal', 'other']); - expect(vm.getColumnValues(0).length).toEqual(3); - expect(vm.getValues().length).toEqual(2); + expect(vm.getColumnValues(0)).toHaveLength(3); + expect(vm.getValues()).toHaveLength(2); vm.setColumnValues(-1, []); - expect(vm.getValues().length).toEqual(2); + expect(vm.getValues()).toHaveLength(2); vm.setValues(['vip', '1992']); expect(vm.getColumnIndex(1)).toEqual(2); diff --git a/packages/vant/src/popover/test/index.spec.tsx b/packages/vant/src/popover/test/index.spec.tsx index 2a41f1b54..0950dc69e 100644 --- a/packages/vant/src/popover/test/index.spec.tsx +++ b/packages/vant/src/popover/test/index.spec.tsx @@ -67,7 +67,7 @@ test('should close popover when clicking the action', async () => { await wrapper.setProps({ closeOnClickAction: false }); await wrapper.find('.van-popover__action').trigger('click'); - expect(wrapper.emitted('update:show')!.length).toEqual(1); + expect(wrapper.emitted('update:show')).toHaveLength(1); }); test('should allow to custom the className of action', () => { diff --git a/packages/vant/src/popup/test/index.spec.js b/packages/vant/src/popup/test/index.spec.js index 955bbc930..13047ded1 100644 --- a/packages/vant/src/popup/test/index.spec.js +++ b/packages/vant/src/popup/test/index.spec.js @@ -101,7 +101,7 @@ test('should emit click-overlay event when overlay is clicked', async () => { }); const overlay = wrapper.find('.van-overlay'); overlay.trigger('click'); - expect(wrapper.emitted('click-overlay').length).toEqual(1); + expect(wrapper.emitted('click-overlay')).toHaveLength(1); }); test('should emit open event when show prop is set to true', async () => { @@ -175,7 +175,7 @@ test('should emit click-close-icon event when close icon is clicked', () => { }); wrapper.find('.van-popup__close-icon').trigger('click'); - expect(wrapper.emitted('click-close-icon').length).toEqual(1); + expect(wrapper.emitted('click-close-icon')).toHaveLength(1); }); test('should render correct close icon when using close-icon prop', () => { diff --git a/packages/vant/src/rate/test/index.spec.ts b/packages/vant/src/rate/test/index.spec.ts index a1ecabc08..6a89bd36d 100644 --- a/packages/vant/src/rate/test/index.spec.ts +++ b/packages/vant/src/rate/test/index.spec.ts @@ -18,15 +18,15 @@ test('should emit change and update:modelValue event when rate icon is clicked', const item4 = wrapper.findAll('.van-rate__icon')[3]; item4.trigger('click'); - expect(wrapper.emitted('change')!.length).toEqual(1); + expect(wrapper.emitted('change')).toHaveLength(1); expect(wrapper.emitted('change')![0]).toEqual([4]); - expect(wrapper.emitted('update:modelValue')!.length).toEqual(1); + expect(wrapper.emitted('update:modelValue')).toHaveLength(1); expect(wrapper.emitted('update:modelValue')![0]).toEqual([4]); await wrapper.setProps({ modelValue: 4 }); item4.trigger('click'); - expect(wrapper.emitted('change')!.length).toEqual(1); - expect(wrapper.emitted('update:modelValue')!.length).toEqual(1); + expect(wrapper.emitted('change')).toHaveLength(1); + expect(wrapper.emitted('update:modelValue')).toHaveLength(1); }); test('should not emit change and update:modelValue event when rate is not changed', () => { diff --git a/packages/vant/src/search/test/index.spec.ts b/packages/vant/src/search/test/index.spec.ts index 825a33695..f8c5d9474 100644 --- a/packages/vant/src/search/test/index.spec.ts +++ b/packages/vant/src/search/test/index.spec.ts @@ -29,7 +29,7 @@ test('should emit cancel event when cancel button click is clicked', () => { const cancel = wrapper.find('.van-search__action'); cancel.trigger('click'); - expect(wrapper.emitted('cancel')!.length).toEqual(1); + expect(wrapper.emitted('cancel')).toHaveLength(1); expect(wrapper.emitted('update:modelValue')![0]).toEqual(['']); }); @@ -57,7 +57,7 @@ test('should emit search event when enter key is pressed', () => { input.trigger('keypress.enter'); input.trigger('keypress.a'); - expect(wrapper.emitted('search')!.length).toEqual(1); + expect(wrapper.emitted('search')).toHaveLength(1); }); test('should render label slot correctly', () => { diff --git a/packages/vant/src/slider/test/index.spec.ts b/packages/vant/src/slider/test/index.spec.ts index 29d5d7eb1..a51a36ed7 100644 --- a/packages/vant/src/slider/test/index.spec.ts +++ b/packages/vant/src/slider/test/index.spec.ts @@ -191,13 +191,13 @@ test('should not emit change event when value not changed', async () => { const button = wrapper.find('.van-slider__button'); trigger(button, 'touchstart'); trigger(wrapper, 'click', 100, 0); - expect(wrapper.emitted('change')!.length).toEqual(1); + expect(wrapper.emitted('change')).toHaveLength(1); await wrapper.setProps({ modelValue: 100 }); trigger(button, 'touchstart'); trigger(wrapper, 'click', 100, 0); - expect(wrapper.emitted('change')!.length).toEqual(1); + expect(wrapper.emitted('change')).toHaveLength(1); }); // https://github.com/youzan/vant/issues/8889 diff --git a/packages/vant/src/submit-bar/test/index.spec.ts b/packages/vant/src/submit-bar/test/index.spec.ts index 24ff45b74..9d3742a71 100644 --- a/packages/vant/src/submit-bar/test/index.spec.ts +++ b/packages/vant/src/submit-bar/test/index.spec.ts @@ -5,7 +5,7 @@ test('should emit submit event when submit button is clicked', () => { const wrapper = mount(SubmitBar); const button = wrapper.find('.van-submit-bar__button'); button.trigger('click'); - expect(wrapper.emitted('submit')!.length).toEqual(1); + expect(wrapper.emitted('submit')).toHaveLength(1); }); test('should render disabled submit button correctly', () => { diff --git a/packages/vant/src/swipe-cell/test/index.spec.js b/packages/vant/src/swipe-cell/test/index.spec.js index 034dec6aa..4e6c77889 100644 --- a/packages/vant/src/swipe-cell/test/index.spec.js +++ b/packages/vant/src/swipe-cell/test/index.spec.js @@ -188,8 +188,8 @@ test('should not trigger close event again if already closed', () => { wrapper.vm.open('left'); wrapper.vm.close(); - expect(wrapper.emitted('close').length).toEqual(1); + expect(wrapper.emitted('close')).toHaveLength(1); wrapper.vm.close(); - expect(wrapper.emitted('close').length).toEqual(1); + expect(wrapper.emitted('close')).toHaveLength(1); }); diff --git a/packages/vant/src/switch/test/index.spec.ts b/packages/vant/src/switch/test/index.spec.ts index 17d20bfd9..df3e97e92 100644 --- a/packages/vant/src/switch/test/index.spec.ts +++ b/packages/vant/src/switch/test/index.spec.ts @@ -5,12 +5,12 @@ test('should emit update:modelValue event when click the switch button', async ( const wrapper = mount(Switch); wrapper.trigger('click'); - expect(wrapper.emitted('update:modelValue')!.length).toEqual(1); + expect(wrapper.emitted('update:modelValue')).toHaveLength(1); expect(wrapper.emitted('update:modelValue')![0]).toEqual([true]); await wrapper.setProps({ modelValue: true }); wrapper.trigger('click'); - expect(wrapper.emitted('update:modelValue')!.length).toEqual(2); + expect(wrapper.emitted('update:modelValue')).toHaveLength(2); expect(wrapper.emitted('update:modelValue')![1]).toEqual([false]); }); @@ -18,12 +18,12 @@ test('should emit change event when click the switch button', async () => { const wrapper = mount(Switch); wrapper.trigger('click'); - expect(wrapper.emitted('change')!.length).toEqual(1); + expect(wrapper.emitted('change')).toHaveLength(1); expect(wrapper.emitted('change')![0]).toEqual([true]); await wrapper.setProps({ modelValue: true }); wrapper.trigger('click'); - expect(wrapper.emitted('change')!.length).toEqual(2); + expect(wrapper.emitted('change')).toHaveLength(2); expect(wrapper.emitted('change')![1]).toEqual([false]); }); diff --git a/packages/vant/src/tab/test/index.spec.tsx b/packages/vant/src/tab/test/index.spec.tsx index b6ace3fd9..6dc31c618 100644 --- a/packages/vant/src/tab/test/index.spec.tsx +++ b/packages/vant/src/tab/test/index.spec.tsx @@ -44,7 +44,7 @@ test('should not render zero badge when show-zero-badge prop is false', async () }, }); await later(); - expect(wrapper.findAll('.van-badge').length).toEqual(1); + expect(wrapper.findAll('.van-badge')).toHaveLength(1); }); test('should switch tab after click the tab title', async () => { diff --git a/packages/vant/src/tag/test/index.spec.ts b/packages/vant/src/tag/test/index.spec.ts index 20205bb33..ae73a441c 100644 --- a/packages/vant/src/tag/test/index.spec.ts +++ b/packages/vant/src/tag/test/index.spec.ts @@ -9,7 +9,7 @@ test('should emit close event when clicking the close icon', () => { }); wrapper.find('.van-tag__close').trigger('click'); - expect(wrapper.emitted('close')!.length).toEqual(1); + expect(wrapper.emitted('close')).toHaveLength(1); }); test('should hide tag when the show prop is false', () => {