@@ -190,6 +190,60 @@ it('calls onIndexChange', () => {
190190 expect ( onIndexChange ) . toHaveBeenCalledTimes ( 1 ) ;
191191} ) ;
192192
193+ it ( 'calls onTabPress' , ( ) => {
194+ const onTabPress = jest . fn ( ) ;
195+ const onIndexChange = jest . fn ( ) ;
196+
197+ const tree = render (
198+ < BottomNavigation
199+ shifting
200+ onTabPress = { onTabPress }
201+ onIndexChange = { onIndexChange }
202+ navigationState = { createState ( 0 , 5 ) }
203+ renderScene = { ( { route } ) => route . title }
204+ />
205+ ) ;
206+ fireEvent ( tree . getByText ( 'Route: 1' ) , 'onPress' ) ;
207+ expect ( onTabPress ) . toHaveBeenCalled ( ) ;
208+ expect ( onTabPress ) . toHaveBeenCalledTimes ( 1 ) ;
209+ expect ( onTabPress ) . toHaveBeenLastCalledWith (
210+ expect . objectContaining ( {
211+ route : expect . objectContaining ( {
212+ key : 'key-1' ,
213+ } ) ,
214+ defaultPrevented : expect . any ( Boolean ) ,
215+ preventDefault : expect . any ( Function ) ,
216+ } )
217+ ) ;
218+ } ) ;
219+
220+ it ( 'calls onTabLongPress' , ( ) => {
221+ const onTabLongPress = jest . fn ( ) ;
222+ const onIndexChange = jest . fn ( ) ;
223+
224+ const tree = render (
225+ < BottomNavigation
226+ shifting
227+ onIndexChange = { onIndexChange }
228+ onTabLongPress = { onTabLongPress }
229+ navigationState = { createState ( 0 , 5 ) }
230+ renderScene = { ( { route } ) => route . title }
231+ />
232+ ) ;
233+ fireEvent ( tree . getByText ( 'Route: 2' ) , 'onLongPress' ) ;
234+ expect ( onTabLongPress ) . toHaveBeenCalled ( ) ;
235+ expect ( onTabLongPress ) . toHaveBeenCalledTimes ( 1 ) ;
236+ expect ( onTabLongPress ) . toHaveBeenLastCalledWith (
237+ expect . objectContaining ( {
238+ route : expect . objectContaining ( {
239+ key : 'key-2' ,
240+ } ) ,
241+ defaultPrevented : expect . any ( Boolean ) ,
242+ preventDefault : expect . any ( Function ) ,
243+ } )
244+ ) ;
245+ } ) ;
246+
193247it ( 'renders non-shifting bottom navigation' , ( ) => {
194248 const tree = renderer
195249 . create (
0 commit comments