11import React , { Fragment } from 'react' ;
2- import { mount , ReactWrapper } from 'enzyme' ;
2+ import type { ReactWrapper } from 'enzyme' ;
3+ import { mount } from 'enzyme' ;
34
45import KeyCode from 'rc-util/lib/KeyCode' ;
56
@@ -19,6 +20,7 @@ describe('collapse', () => {
1920
2021 function onChange ( ...args : any [ ] ) {
2122 if ( changeHook ) {
23+ // eslint-disable-next-line @typescript-eslint/no-invalid-this
2224 changeHook . apply ( this , args ) ;
2325 }
2426 }
@@ -36,12 +38,9 @@ describe('collapse', () => {
3638
3739 it ( 'add className' , ( ) => {
3840 const expectedClassName = 'rc-collapse-item important' ;
39- expect (
40- collapse
41- . find ( '.rc-collapse-item' )
42- . at ( 2 )
43- . getDOMNode ( ) . className ,
44- ) . toBe ( expectedClassName ) ;
41+ expect ( collapse . find ( '.rc-collapse-item' ) . at ( 2 ) . getDOMNode ( ) . className ) . toBe (
42+ expectedClassName ,
43+ ) ;
4544 } ) ;
4645
4746 it ( 'create works' , ( ) => {
@@ -58,12 +57,9 @@ describe('collapse', () => {
5857 } ) ;
5958
6059 it ( 'should render custom arrow icon corrctly' , ( ) => {
61- expect (
62- collapse
63- . find ( '.rc-collapse-header' )
64- . at ( 0 )
65- . getDOMNode ( ) . textContent ,
66- ) . toContain ( 'test>' ) ;
60+ expect ( collapse . find ( '.rc-collapse-header' ) . at ( 0 ) . getDOMNode ( ) . textContent ) . toContain (
61+ 'test>' ,
62+ ) ;
6763 } ) ;
6864
6965 it ( 'default active works' , ( ) => {
@@ -78,10 +74,7 @@ describe('collapse', () => {
7874
7975 it ( 'onChange works' , ( ) => {
8076 changeHook = jest . fn ( ) ;
81- collapse
82- . find ( '.rc-collapse-header' )
83- . at ( 1 )
84- . simulate ( 'click' ) ;
77+ collapse . find ( '.rc-collapse-header' ) . at ( 1 ) . simulate ( 'click' ) ;
8578 expect ( changeHook . mock . calls [ 0 ] [ 0 ] ) . toEqual ( [ '2' ] ) ;
8679 } ) ;
8780
@@ -94,12 +87,9 @@ describe('collapse', () => {
9487 header . simulate ( 'click' ) ;
9588 jest . runAllTimers ( ) ;
9689 collapse . update ( ) ;
97- expect (
98- collapse
99- . find ( '.rc-collapse-content-inactive' )
100- . at ( 0 )
101- . getDOMNode ( ) . innerHTML ,
102- ) . toBe ( '<div class="rc-collapse-content-box">second</div>' ) ;
90+ expect ( collapse . find ( '.rc-collapse-content-inactive' ) . at ( 0 ) . getDOMNode ( ) . innerHTML ) . toBe (
91+ '<div class="rc-collapse-content-box">second</div>' ,
92+ ) ;
10393 expect ( collapse . find ( '.rc-collapse-content-active' ) . length ) . toBe ( 0 ) ;
10494 } ) ;
10595
@@ -211,6 +201,25 @@ describe('collapse', () => {
211201
212202 runNormalTest ( element ) ;
213203 } ) ;
204+ describe ( 'it should support activeKey number 0' , ( ) => {
205+ const collapse = mount (
206+ < Collapse onChange = { onChange } activeKey = { 0 } >
207+ < Panel header = "collapse 0" key = { 0 } >
208+ zero
209+ </ Panel >
210+ < Panel header = "collapse 1" key = { 1 } >
211+ first
212+ </ Panel >
213+ < Panel header = "collapse 2" key = { 2 } >
214+ second
215+ </ Panel >
216+ </ Collapse > ,
217+ ) ;
218+
219+ it ( 'activeKey number 0, should open one item' , ( ) => {
220+ expect ( collapse . find ( '.rc-collapse-content-active' ) . length ) . toBe ( 1 ) ;
221+ } ) ;
222+ } ) ;
214223
215224 describe ( 'destroyInactivePanel' , ( ) => {
216225 const collapse = mount (
@@ -356,9 +365,15 @@ describe('collapse', () => {
356365 </ Panel >
357366 </ Collapse > ,
358367 ) ;
368+
369+ jest . runAllTimers ( ) ;
370+ collapse . update ( ) ;
371+
359372 expect ( collapse . find ( '.rc-collapse-content' ) . length ) . toBe ( 1 ) ;
360373 expect ( collapse . find ( '.rc-collapse-content-active' ) . length ) . toBe ( 0 ) ;
361- expect ( collapse . find ( 'div.rc-collapse-content-hidden' ) . length ) . toBe ( 1 ) ;
374+ expect ( collapse . find ( 'div.rc-collapse-content-inactive' ) . props ( ) . style ) . toEqual ( {
375+ display : 'none' ,
376+ } ) ;
362377 } ) ;
363378 } ) ;
364379
@@ -383,44 +398,29 @@ describe('collapse', () => {
383398 </ Panel >
384399 </ Collapse > ,
385400 ) ;
386- collapse
387- . find ( '.rc-collapse-header' )
388- . at ( 2 )
389- . simulate ( 'keyPress' , {
390- keyCode : KeyCode . ENTER ,
391- } ) ;
401+ collapse . find ( '.rc-collapse-header' ) . at ( 2 ) . simulate ( 'keyPress' , {
402+ keyCode : KeyCode . ENTER ,
403+ } ) ;
392404 jest . runAllTimers ( ) ;
393405 collapse . update ( ) ;
394406 expect ( collapse . find ( '.rc-collapse-content-active' ) . length ) . toBe ( 0 ) ;
395- collapse
396- . find ( '.rc-collapse-header' )
397- . at ( 0 )
398- . simulate ( 'keyPress' , {
399- keyCode : KeyCode . ENTER ,
400- } ) ;
407+ collapse . find ( '.rc-collapse-header' ) . at ( 0 ) . simulate ( 'keyPress' , {
408+ keyCode : KeyCode . ENTER ,
409+ } ) ;
401410 jest . runAllTimers ( ) ;
402411 collapse . update ( ) ;
403412 expect ( collapse . find ( '.rc-collapse-content-active' ) . length ) . toBe ( 1 ) ;
404413 expect (
405- collapse
406- . find ( '.rc-collapse-content' )
407- . at ( 0 )
408- . hasClass ( 'rc-collapse-content-active' ) ,
414+ collapse . find ( '.rc-collapse-content' ) . at ( 0 ) . hasClass ( 'rc-collapse-content-active' ) ,
409415 ) . toBeTruthy ( ) ;
410- collapse
411- . find ( '.rc-collapse-header' )
412- . at ( 0 )
413- . simulate ( 'keyPress' , {
414- keyCode : KeyCode . ENTER ,
415- } ) ;
416+ collapse . find ( '.rc-collapse-header' ) . at ( 0 ) . simulate ( 'keyPress' , {
417+ keyCode : KeyCode . ENTER ,
418+ } ) ;
416419 jest . runAllTimers ( ) ;
417420 collapse . update ( ) ;
418421 expect ( collapse . find ( '.rc-collapse-content-active' ) . length ) . toBe ( 0 ) ;
419422 expect (
420- collapse
421- . find ( '.rc-collapse-content' )
422- . at ( 0 )
423- . hasClass ( 'rc-collapse-content-active' ) ,
423+ collapse . find ( '.rc-collapse-content' ) . at ( 0 ) . hasClass ( 'rc-collapse-content-active' ) ,
424424 ) . toBeFalsy ( ) ;
425425 } ) ;
426426 } ) ;
@@ -456,12 +456,7 @@ describe('collapse', () => {
456456 </ Panel >
457457 </ Collapse > ,
458458 ) ;
459- expect (
460- wrapper
461- . find ( '.rc-collapse-header' )
462- . at ( 0 )
463- . getDOMNode ( ) . childNodes . length ,
464- ) . toBe ( 1 ) ;
459+ expect ( wrapper . find ( '.rc-collapse-header' ) . at ( 0 ) . getDOMNode ( ) . childNodes . length ) . toBe ( 1 ) ;
465460 } ) ;
466461
467462 it ( 'should support custom child' , ( ) => {
0 commit comments