chore: fix datetime-picker test cases

This commit is contained in:
陈嘉涵 2020-01-02 10:17:47 +08:00
parent ae20752d7a
commit 74c63ad2f0
6 changed files with 48 additions and 41 deletions

View File

@ -30,10 +30,8 @@ Vue.use(DatetimePicker);
export default { export default {
data() { data() {
return { return {
minHour: 10, minDate: new Date(2020, 0, 1),
maxHour: 20, maxDate: new Date(2025, 10, 1),
minDate: new Date(),
maxDate: new Date(2019, 10, 1),
currentDate: new Date() currentDate: new Date()
}; };
} }
@ -47,6 +45,7 @@ export default {
v-model="currentDate" v-model="currentDate"
type="date" type="date"
:min-date="minDate" :min-date="minDate"
:max-date="maxDate"
/> />
``` ```
@ -54,6 +53,8 @@ export default {
export default { export default {
data() { data() {
return { return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date() currentDate: new Date()
}; };
} }
@ -67,6 +68,7 @@ export default {
v-model="currentDate" v-model="currentDate"
type="year-month" type="year-month"
:min-date="minDate" :min-date="minDate"
:max-date="maxDate"
:formatter="formatter" :formatter="formatter"
/> />
``` ```
@ -75,6 +77,8 @@ export default {
export default { export default {
data() { data() {
return { return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date() currentDate: new Date()
}; };
}, },

View File

@ -6,7 +6,7 @@
### 引入 ### 引入
``` javascript ```javascript
import Vue from 'vue'; import Vue from 'vue';
import { DatetimePicker } from 'vant'; import { DatetimePicker } from 'vant';
@ -30,10 +30,8 @@ Vue.use(DatetimePicker);
export default { export default {
data() { data() {
return { return {
minHour: 10, minDate: new Date(2020, 0, 1),
maxHour: 20, maxDate: new Date(2025, 10, 1),
minDate: new Date(),
maxDate: new Date(2019, 10, 1),
currentDate: new Date() currentDate: new Date()
}; };
} }
@ -47,6 +45,7 @@ export default {
v-model="currentDate" v-model="currentDate"
type="date" type="date"
:min-date="minDate" :min-date="minDate"
:max-date="maxDate"
/> />
``` ```
@ -54,10 +53,12 @@ export default {
export default { export default {
data() { data() {
return { return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date() currentDate: new Date()
}; };
} }
} };
``` ```
### 选择日期(年月) ### 选择日期(年月)
@ -69,6 +70,7 @@ export default {
v-model="currentDate" v-model="currentDate"
type="year-month" type="year-month"
:min-date="minDate" :min-date="minDate"
:max-date="maxDate"
:formatter="formatter" :formatter="formatter"
/> />
``` ```
@ -77,6 +79,8 @@ export default {
export default { export default {
data() { data() {
return { return {
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date() currentDate: new Date()
}; };
}, },
@ -112,7 +116,7 @@ export default {
currentTime: '12:00' currentTime: '12:00'
}; };
} }
} };
``` ```
### 选项过滤器 ### 选项过滤器
@ -138,13 +142,13 @@ export default {
methods: { methods: {
filter(type, options) { filter(type, options) {
if (type === 'minute') { if (type === 'minute') {
return options.filter(option => option % 5 === 0) return options.filter(option => option % 5 === 0);
} }
return options; return options;
} }
} }
} };
``` ```
## API ## API

View File

@ -14,6 +14,7 @@
v-model="currentDate2" v-model="currentDate2"
type="date" type="date"
:min-date="minDate" :min-date="minDate"
:max-date="maxDate"
/> />
</demo-block> </demo-block>
@ -22,6 +23,7 @@
v-model="currentDate3" v-model="currentDate3"
type="year-month" type="year-month"
:min-date="minDate" :min-date="minDate"
:max-date="maxDate"
:formatter="formatter" :formatter="formatter"
/> />
</demo-block> </demo-block>
@ -70,11 +72,11 @@ export default {
data() { data() {
return { return {
minDate: new Date(2018, 0, 1), minDate: new Date(2020, 0, 1),
maxDate: new Date(2019, 10, 1), maxDate: new Date(2025, 10, 1),
currentDate1: new Date(2018, 0, 1), currentDate1: new Date(2020, 0, 1),
currentDate2: null, currentDate2: null,
currentDate3: new Date(2018, 0, 1), currentDate3: new Date(2020, 0, 1),
currentTime1: '12:00', currentTime1: '12:00',
currentTime2: '12:00', currentTime2: '12:00',
}; };

View File

@ -7,8 +7,7 @@ exports[`filter prop 1`] = `
<div class="van-picker__columns" style="height: 220px;"> <div class="van-picker__columns" style="height: 220px;">
<div class="van-picker-column"> <div class="van-picker-column">
<ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;"> <ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;">
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2010</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2020</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2020</li>
</ul> </ul>
</div> </div>
<div class="van-picker-column"> <div class="van-picker-column">

View File

@ -9,8 +9,12 @@ exports[`renders demo correctly 1`] = `
<div class="van-picker__columns" style="height: 220px;"> <div class="van-picker__columns" style="height: 220px;">
<div class="van-picker-column"> <div class="van-picker-column">
<ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;"> <ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;">
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2018</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2020</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2019</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2021</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2022</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2023</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2024</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2025</li>
</ul> </ul>
</div> </div>
<div class="van-picker-column"> <div class="van-picker-column">
@ -169,18 +173,12 @@ exports[`renders demo correctly 1`] = `
<div class="van-picker__columns" style="height: 220px;"> <div class="van-picker__columns" style="height: 220px;">
<div class="van-picker-column"> <div class="van-picker-column">
<ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;"> <ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;">
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2018</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2020</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2019</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2020</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2021</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2021</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2022</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2022</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2023</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2023</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2024</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2024</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2025</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2025</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2026</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2027</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2028</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2029</li>
</ul> </ul>
</div> </div>
<div class="van-picker-column"> <div class="van-picker-column">
@ -247,18 +245,12 @@ exports[`renders demo correctly 1`] = `
<div class="van-picker__columns" style="height: 220px;"> <div class="van-picker__columns" style="height: 220px;">
<div class="van-picker-column"> <div class="van-picker-column">
<ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;"> <ul class="van-picker-column__wrapper" style="transform: translate3d(0, 88px, 0); transition-duration: 0ms; transition-property: none; line-height: 44px;">
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2018年</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item van-picker-column__item--selected" style="height: 44px;">2020年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2019年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2020年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2021年</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2021年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2022年</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2022年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2023年</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2023年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2024年</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2024年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2025年</li> <li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2025年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2026年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2027年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2028年</li>
<li role="button" tabindex="0" class="van-ellipsis van-picker-column__item" style="height: 44px;">2029年</li>
</ul> </ul>
</div> </div>
<div class="van-picker-column"> <div class="van-picker-column">

View File

@ -14,7 +14,9 @@ test('filter prop', () => {
const wrapper = mount(DatePicker, { const wrapper = mount(DatePicker, {
propsData: { propsData: {
filter, filter,
value: new Date(2019, 10, 1, 0, 0) minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
value: new Date(2020, 10, 1, 0, 0)
} }
}); });
@ -26,7 +28,9 @@ test('formatter prop', async () => {
propsData: { propsData: {
filter, filter,
formatter, formatter,
value: new Date(2019, 10, 1, 0, 0) minDate: new Date(2010, 0, 1),
maxDate: new Date(2025, 10, 1),
value: new Date(2020, 10, 1, 0, 0)
} }
}); });
@ -46,20 +50,22 @@ test('formatter prop', async () => {
}); });
test('confirm event', () => { test('confirm event', () => {
const date = new Date(2019, 10, 1, 0, 0); const date = new Date(2020, 10, 1, 0, 0);
const wrapper = mount(DatePicker, { const wrapper = mount(DatePicker, {
propsData: { propsData: {
value: date value: date,
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1)
} }
}); });
wrapper.find('.van-picker__confirm').trigger('click'); wrapper.find('.van-picker__confirm').trigger('click');
expect(wrapper.emitted('confirm')[0][0].getFullYear()).toEqual(2019); expect(wrapper.emitted('confirm')[0][0].getFullYear()).toEqual(2020);
triggerDrag(wrapper.find('.van-picker-column'), 0, -100); triggerDrag(wrapper.find('.van-picker-column'), 0, -100);
wrapper.find('.van-picker__confirm').trigger('click'); wrapper.find('.van-picker__confirm').trigger('click');
expect(wrapper.emitted('confirm')[1][0].getFullYear()).toEqual(2029); expect(wrapper.emitted('confirm')[1][0].getFullYear()).toEqual(2025);
}); });
test('cancel event', () => { test('cancel event', () => {