@@ -2,9 +2,50 @@ import { mount } from '@vue/test-utils';
22import { asyncExpect } from '@/tests/utils' ;
33import moment from 'moment' ;
44import DatePicker from '../' ;
5+ import LocaleProvider from '../../locale-provider' ;
6+ import locale from '../../locale-provider/zh_CN' ;
57
68const { MonthPicker, WeekPicker } = DatePicker ;
79
10+ describe ( 'Picker format by locale' , ( ) => {
11+ const myLocale = {
12+ ...locale ,
13+ DatePicker : {
14+ ...locale . DatePicker ,
15+ dateFormat : 'YYYY 年 M 月 D 日' ,
16+ dateTimeFormat : 'YYYY 年 M 月 D 日 H 时 m 分 s 秒' ,
17+ weekFormat : 'YYYY 年 W 周' ,
18+ monthFormat : 'YYYY 年 M 月' ,
19+ } ,
20+ } ;
21+
22+ const date = moment ( '2000-01-01' , 'YYYY-MM-DD' ) ;
23+ function matchPicker ( name , Picker , props ) {
24+ it ( name , async ( ) => {
25+ const wrapper = mount (
26+ {
27+ render ( ) {
28+ return (
29+ < LocaleProvider locale = { myLocale } >
30+ < Picker { ...{ value : date , ...props } } />
31+ </ LocaleProvider >
32+ ) ;
33+ } ,
34+ } ,
35+ { sync : false } ,
36+ ) ;
37+ await asyncExpect ( ( ) => {
38+ expect ( wrapper . html ( ) ) . toMatchSnapshot ( ) ;
39+ } ) ;
40+ } ) ;
41+ }
42+
43+ matchPicker ( 'date' , DatePicker ) ;
44+ matchPicker ( 'dateTime' , DatePicker , { showTime : true } ) ;
45+ matchPicker ( 'week' , WeekPicker ) ;
46+ matchPicker ( 'month' , MonthPicker ) ;
47+ } ) ;
48+
849describe ( 'MonthPicker and WeekPicker' , ( ) => {
950 it ( 'render MonthPicker' , async ( ) => {
1051 const birthday = moment ( '2000-01-01' , 'YYYY-MM-DD' ) . locale ( 'zh-cn' ) ;
0 commit comments