@@ -175,13 +175,13 @@ describe('TimeSelect', () => {
175175 expect ( listItems . length ) . toBe ( ( 23 - 1 ) * 2 + 1 ) ;
176176
177177 await wrapper . setProps ( {
178- step : '00:01 ' ,
178+ step : '0:1 ' ,
179179 } ) ;
180180
181181 await input . trigger ( 'click' ) ;
182182 await nextTick ( ) ;
183183 listItems = document . querySelectorAll ( selectItemCls ) ;
184- // 传入最小单位
184+ // 测试只传一位数字的情况
185185 expect ( listItems . length ) . toBe ( ( 23 - 1 ) * 60 + 1 ) ;
186186
187187 await wrapper . setProps ( {
@@ -201,9 +201,59 @@ describe('TimeSelect', () => {
201201 await input . trigger ( 'click' ) ;
202202 await nextTick ( ) ;
203203 listItems = document . querySelectorAll ( selectItemCls ) ;
204- // 传入一个超大 step
204+ // 传入一个超大 step
205205 expect ( listItems . length ) . toBe ( 1 ) ;
206206
207+ await wrapper . setProps ( {
208+ step : '00:00' ,
209+ } ) ;
210+
211+ await input . trigger ( 'click' ) ;
212+ await nextTick ( ) ;
213+ listItems = document . querySelectorAll ( selectItemCls ) ;
214+ // 传入不合法的 step (00:00) 将变为默认的 00:30
215+ expect ( listItems . length ) . toBe ( ( 23 - 1 ) * 2 + 1 ) ;
216+
217+ await wrapper . setProps ( {
218+ step : '-1:0' ,
219+ } ) ;
220+
221+ await input . trigger ( 'click' ) ;
222+ await nextTick ( ) ;
223+ listItems = document . querySelectorAll ( selectItemCls ) ;
224+ // 传入不合法的 step (-1:0) 将变为默认的 00:30
225+ expect ( listItems . length ) . toBe ( ( 23 - 1 ) * 2 + 1 ) ;
226+
227+ await wrapper . setProps ( {
228+ step : '-2:20' ,
229+ } ) ;
230+
231+ await input . trigger ( 'click' ) ;
232+ await nextTick ( ) ;
233+ listItems = document . querySelectorAll ( selectItemCls ) ;
234+ // 传入不合法的 step (-2:20) 将变为默认的 00:30
235+ expect ( listItems . length ) . toBe ( ( 23 - 1 ) * 2 + 1 ) ;
236+
237+ await wrapper . setProps ( {
238+ step : '02:-1' ,
239+ } ) ;
240+
241+ await input . trigger ( 'click' ) ;
242+ await nextTick ( ) ;
243+ listItems = document . querySelectorAll ( selectItemCls ) ;
244+ // 虽然换算成分钟是正的,但依然不合法的值 step (2:-1) 将变为默认的 00:30
245+ expect ( listItems . length ) . toBe ( ( 23 - 1 ) * 2 + 1 ) ;
246+
247+ await wrapper . setProps ( {
248+ step : '1:0' ,
249+ } ) ;
250+
251+ await input . trigger ( 'click' ) ;
252+ await nextTick ( ) ;
253+ listItems = document . querySelectorAll ( selectItemCls ) ;
254+ // 传入带 0 但合法的 step (1:0)
255+ expect ( listItems . length ) . toBe ( 23 ) ;
256+
207257 wrapper . unmount ( ) ;
208258 } ) ;
209259
@@ -387,8 +437,6 @@ describe('TimeSelect', () => {
387437 } ,
388438 } ) ;
389439
390- const container = wrapper . find ( baseClass ) ;
391- const dropdown = wrapper . find ( dropdownCls ) ;
392440 const input = wrapper . find < HTMLInputElement > ( selectInputCls ) ;
393441 expect ( input . attributes ( ) . placeholder ) . toBe ( '测试placeholder是否正常渲染' ) ;
394442
@@ -398,6 +446,5 @@ describe('TimeSelect', () => {
398446 await nextTick ( ) ;
399447
400448 expect ( input . attributes ( ) . placeholder ) . toBe ( 'placeholder' ) ;
401-
402449 } ) ;
403450} ) ;
0 commit comments