@@ -14,6 +14,7 @@ describe('<Tooltip />', () => {
1414 let shallow ;
1515 let mount ;
1616 let classes ;
17+ let clock ;
1718 const defaultProps = {
1819 title : 'Hello World' ,
1920 children : < span > Hello World</ span > ,
@@ -23,9 +24,11 @@ describe('<Tooltip />', () => {
2324 shallow = createShallow ( { dive : true , disableLifecycleMethods : true } ) ;
2425 mount = createMount ( ) ;
2526 classes = getClasses ( < Tooltip { ...defaultProps } /> ) ;
27+ clock = useFakeTimers ( ) ;
2628 } ) ;
2729
2830 after ( ( ) => {
31+ clock . restore ( ) ;
2932 mount . cleanUp ( ) ;
3033 } ) ;
3134
@@ -92,7 +95,8 @@ describe('<Tooltip />', () => {
9295 const children = wrapper . childAt ( 0 ) . childAt ( 0 ) ;
9396 assert . strictEqual ( wrapper . state ( ) . open , false ) ;
9497 children . simulate ( 'mouseEnter' , { type : 'mouseenter' } ) ;
95- children . simulate ( 'focus' , { type : 'focus' } ) ;
98+ children . simulate ( 'focus' , { type : 'focus' , persist } ) ;
99+ clock . tick ( 0 ) ;
96100 assert . strictEqual ( wrapper . state ( ) . open , true ) ;
97101 children . simulate ( 'mouseLeave' , { type : 'mouseleave' } ) ;
98102 assert . strictEqual ( wrapper . state ( ) . open , true ) ;
@@ -101,23 +105,13 @@ describe('<Tooltip />', () => {
101105 } ) ;
102106
103107 describe ( 'touch screen' , ( ) => {
104- let clock ;
105-
106- before ( ( ) => {
107- clock = useFakeTimers ( ) ;
108- } ) ;
109-
110- after ( ( ) => {
111- clock . restore ( ) ;
112- } ) ;
113-
114108 it ( 'should not respond to quick events' , ( ) => {
115109 const wrapper = shallow ( < Tooltip { ...defaultProps } /> ) ;
116110 wrapper . instance ( ) . childrenRef = document . createElement ( 'div' ) ;
117111 const children = wrapper . childAt ( 0 ) . childAt ( 0 ) ;
118112 children . simulate ( 'touchStart' , { type : 'touchstart' , persist } ) ;
119113 children . simulate ( 'touchEnd' , { type : 'touchend' , persist } ) ;
120- children . simulate ( 'focus' , { type : 'focus' } ) ;
114+ children . simulate ( 'focus' , { type : 'focus' , persist } ) ;
121115 children . simulate ( 'mouseover' , { type : 'mouseover' } ) ;
122116 assert . strictEqual ( wrapper . state ( ) . open , false ) ;
123117 } ) ;
@@ -127,7 +121,7 @@ describe('<Tooltip />', () => {
127121 wrapper . instance ( ) . childrenRef = document . createElement ( 'div' ) ;
128122 const children = wrapper . childAt ( 0 ) . childAt ( 0 ) ;
129123 children . simulate ( 'touchStart' , { type : 'touchstart' , persist } ) ;
130- children . simulate ( 'focus' , { type : 'focus' } ) ;
124+ children . simulate ( 'focus' , { type : 'focus' , persist } ) ;
131125 children . simulate ( 'mouseover' , { type : 'mouseover' } ) ;
132126 clock . tick ( 1e3 ) ;
133127 assert . strictEqual ( wrapper . state ( ) . open , true ) ;
@@ -145,16 +139,6 @@ describe('<Tooltip />', () => {
145139 } ) ;
146140
147141 describe ( 'prop: delay' , ( ) => {
148- let clock ;
149-
150- before ( ( ) => {
151- clock = useFakeTimers ( ) ;
152- } ) ;
153-
154- after ( ( ) => {
155- clock . restore ( ) ;
156- } ) ;
157-
158142 it ( 'should take the enterDelay into account' , ( ) => {
159143 const wrapper = shallow ( < Tooltip enterDelay = { 111 } { ...defaultProps } /> ) ;
160144 wrapper . instance ( ) . childrenRef = document . createElement ( 'div' ) ;
@@ -169,7 +153,8 @@ describe('<Tooltip />', () => {
169153 const wrapper = shallow ( < Tooltip leaveDelay = { 111 } { ...defaultProps } /> ) ;
170154 wrapper . instance ( ) . childrenRef = document . createElement ( 'div' ) ;
171155 const children = wrapper . childAt ( 0 ) . childAt ( 0 ) ;
172- children . simulate ( 'focus' , { type : 'focus' } ) ;
156+ children . simulate ( 'focus' , { type : 'focus' , persist } ) ;
157+ clock . tick ( 0 ) ;
173158 assert . strictEqual ( wrapper . state ( ) . open , true ) ;
174159 children . simulate ( 'blur' , { type : 'blur' , persist } ) ;
175160 assert . strictEqual ( wrapper . state ( ) . open , true ) ;
@@ -194,6 +179,7 @@ describe('<Tooltip />', () => {
194179 const children = wrapper . childAt ( 0 ) . childAt ( 0 ) ;
195180 const type = name . slice ( 2 ) . toLowerCase ( ) ;
196181 children . simulate ( type , { type, persist } ) ;
182+ clock . tick ( 0 ) ;
197183 assert . strictEqual ( handler . callCount , 1 ) ;
198184 } ) ;
199185 } ,
0 commit comments