@@ -11,7 +11,7 @@ import {
1111 getTabs ,
1212 getTransformX ,
1313 getTransformY ,
14- triggerResize ,
14+ triggerResize , waitFakeTimer ,
1515} from './common/util' ;
1616
1717describe ( 'Tabs.Overflow' , ( ) => {
@@ -25,7 +25,7 @@ describe('Tabs.Overflow', () => {
2525 } ) ;
2626 } ) ;
2727
28- beforeAll ( ( ) => {
28+ beforeEach ( ( ) => {
2929 domSpy = spyElementPrototypes ( HTMLElement , {
3030 scrollIntoView : ( ) => { } ,
3131 offsetWidth : {
@@ -43,7 +43,7 @@ describe('Tabs.Overflow', () => {
4343 } ) ;
4444 } ) ;
4545
46- afterAll ( ( ) => {
46+ afterEach ( ( ) => {
4747 domSpy . mockRestore ( ) ;
4848 } ) ;
4949
@@ -363,10 +363,26 @@ describe('Tabs.Overflow', () => {
363363 } ) ;
364364 } ) ;
365365
366- it ( 'auto hidden Dropdown' , ( ) => {
366+ it ( 'auto hidden Dropdown' , async ( ) => {
367367 jest . useFakeTimers ( ) ;
368368
369- const originItems : TabsProps [ 'items' ] = new Array ( 8 ) . fill ( 0 ) . map ( ( _ , index ) => ( {
369+ domSpy = spyElementPrototypes ( HTMLElement , {
370+ scrollIntoView : ( ) => { } ,
371+ offsetWidth : {
372+ get : getOffsetSizeFunc ( { ...hackOffsetInfo , container : 45 } ) ,
373+ } ,
374+ offsetHeight : {
375+ get : getOffsetSizeFunc ( hackOffsetInfo ) ,
376+ } ,
377+ offsetLeft : {
378+ get : btnOffsetPosition ,
379+ } ,
380+ offsetTop : {
381+ get : btnOffsetPosition ,
382+ } ,
383+ } ) ;
384+
385+ const originItems : TabsProps [ 'items' ] = new Array ( 2 ) . fill ( 0 ) . map ( ( _ , index ) => ( {
370386 key : `${ index } ` ,
371387 label : `Tab ${ index + 1 } ` ,
372388 children : `Tab Content${ index + 1 } ` ,
@@ -406,20 +422,11 @@ describe('Tabs.Overflow', () => {
406422 jest . runAllTimers ( ) ;
407423 } ) ;
408424
409- while ( true ) {
410- const remove = document . querySelector ( '.rc-tabs-dropdown-menu-item-remove' ) ;
411- if ( ! remove ) {
412- break ;
413- }
414-
415- act ( ( ) => {
416- fireEvent . click ( remove ) ;
417- } ) ;
425+ const remove = document . querySelector ( '.rc-tabs-dropdown-menu-item-remove' ) ;
418426
419- act ( ( ) => {
420- jest . runAllTimers ( ) ;
421- } ) ;
422- }
427+ act ( ( ) => {
428+ fireEvent . click ( remove ) ;
429+ } ) ;
423430
424431 expect ( document . querySelector ( '.rc-tabs-dropdown-hidden' ) ) . toBeTruthy ( ) ;
425432
0 commit comments