diff --git a/src/datetime-picker/test/date-picker.spec.js b/src/datetime-picker/test/date-picker.spec.js
index caac0e8dc..8701e109e 100644
--- a/src/datetime-picker/test/date-picker.spec.js
+++ b/src/datetime-picker/test/date-picker.spec.js
@@ -68,6 +68,60 @@ test('confirm event', () => {
expect(wrapper.emitted('confirm')[1][0].getFullYear()).toEqual(2025);
});
+test('year-month type', () => {
+ const date = new Date(2020, 10, 1, 0, 0);
+
+ const wrapper = mount(DatePicker, {
+ propsData: {
+ type: 'year-month',
+ value: date,
+ minDate: new Date(2020, 0, 1),
+ maxDate: new Date(2025, 10, 1),
+ },
+ });
+
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(wrapper.emitted('confirm')[0][0].getFullYear()).toEqual(2020);
+ expect(wrapper.emitted('confirm')[0][0].getMonth()).toEqual(10);
+
+ triggerDrag(wrapper.find('.van-picker-column'), 0, -100);
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(wrapper.emitted('confirm')[1][0].getFullYear()).toEqual(2025);
+ expect(wrapper.emitted('confirm')[1][0].getMonth()).toEqual(0);
+
+ triggerDrag(wrapper.findAll('.van-picker-column').at(1), 0, -100);
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(wrapper.emitted('confirm')[2][0].getFullYear()).toEqual(2025);
+ expect(wrapper.emitted('confirm')[2][0].getMonth()).toEqual(10);
+});
+
+test('month-day type', () => {
+ const date = new Date(2020, 10, 1, 0, 0);
+
+ const wrapper = mount(DatePicker, {
+ propsData: {
+ type: 'month-day',
+ value: date,
+ minDate: new Date(2020, 0, 1),
+ maxDate: new Date(2025, 10, 1),
+ },
+ });
+
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(wrapper.emitted('confirm')[0][0].getMonth()).toEqual(10);
+ expect(wrapper.emitted('confirm')[0][0].getDate()).toEqual(1);
+
+ triggerDrag(wrapper.find('.van-picker-column'), 0, -100);
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(wrapper.emitted('confirm')[1][0].getMonth()).toEqual(11);
+ expect(wrapper.emitted('confirm')[1][0].getDate()).toEqual(1);
+
+ triggerDrag(wrapper.findAll('.van-picker-column').at(1), 0, -100);
+ wrapper.find('.van-picker__confirm').trigger('click');
+ expect(wrapper.emitted('confirm')[2][0].getMonth()).toEqual(11);
+ expect(wrapper.emitted('confirm')[2][0].getDate()).toEqual(31);
+});
+
test('cancel event', () => {
const wrapper = mount(DatePicker);