@@ -18,6 +18,43 @@ describe('Collapse', () => {
1818 jasmine . clock ( ) . uninstall ( ) ;
1919 } ) ;
2020
21+ describe ( 'delay' , ( ) => {
22+ it ( 'should accept a number' , ( ) => {
23+ const wrapper = mount ( < Collapse isOpen = { isOpen } delay = { 200 } /> ) ;
24+ toggle ( ) ;
25+ wrapper . setProps ( { isOpen : isOpen } ) ;
26+ jasmine . clock ( ) . tick ( 200 ) ;
27+ expect ( wrapper . state ( 'collapse' ) ) . toEqual ( 'SHOWN' ) ;
28+ wrapper . unmount ( ) ;
29+ } ) ;
30+
31+ it ( 'should accept an object' , ( ) => {
32+ const wrapper = mount ( < Collapse isOpen = { isOpen } delay = { { show : 110 , hide : 120 } } /> ) ;
33+ toggle ( ) ;
34+ wrapper . setProps ( { isOpen : isOpen } ) ;
35+ jasmine . clock ( ) . tick ( 110 ) ;
36+ expect ( wrapper . state ( 'collapse' ) ) . toEqual ( 'SHOWN' ) ;
37+
38+ toggle ( ) ;
39+ wrapper . setProps ( { isOpen : isOpen } ) ;
40+ jasmine . clock ( ) . tick ( 120 ) ;
41+ expect ( wrapper . state ( 'collapse' ) ) . toEqual ( 'HIDDEN' ) ;
42+ } ) ;
43+
44+ it ( 'should use default value if value is missing from object' , ( ) => {
45+ const wrapper = mount ( < Collapse isOpen = { isOpen } delay = { { show : 110 } } /> ) ;
46+ toggle ( ) ;
47+ wrapper . setProps ( { isOpen : isOpen } ) ;
48+ jasmine . clock ( ) . tick ( 110 ) ;
49+ expect ( wrapper . state ( 'collapse' ) ) . toEqual ( 'SHOWN' ) ;
50+
51+ toggle ( ) ;
52+ wrapper . setProps ( { isOpen : isOpen } ) ;
53+ jasmine . clock ( ) . tick ( 350 ) ;
54+ expect ( wrapper . state ( 'collapse' ) ) . toEqual ( 'HIDDEN' ) ;
55+ } ) ;
56+ } ) ;
57+
2158 it ( 'should render children' , ( ) => {
2259 const wrapper = shallow ( < Collapse > < p > hello</ p > </ Collapse > ) . find ( 'p' ) ;
2360 expect ( wrapper . text ( ) ) . toBe ( 'hello' ) ;
0 commit comments