@@ -60,6 +60,34 @@ describe('Input', () => {
6060 expect ( onKeyUp ) . toBeCalledTimes ( 1 ) ;
6161 } ) ;
6262
63+ it ( 'should trigger onPressEnter after trigger onBlur' , ( ) => {
64+ const onPressEnter = jest . fn ( ) ;
65+ const onBlur = jest . fn ( ) ;
66+ const { container } = render (
67+ < Input onPressEnter = { onPressEnter } onBlur = { onBlur } /> ,
68+ ) ;
69+ const inputEl = container . querySelector ( 'input' ) ! ;
70+ fireEvent . keyDown ( inputEl , { key : 'Enter' } ) ;
71+ fireEvent . blur ( inputEl ) ;
72+ fireEvent . keyDown ( inputEl , { key : 'Enter' } ) ;
73+ expect ( onBlur ) . toBeCalled ( ) ;
74+ expect ( onPressEnter ) . toBeCalledTimes ( 2 ) ;
75+ } ) ;
76+
77+ it ( 'should trigger onPressEnter after disabled' , ( ) => {
78+ const onPressEnter = jest . fn ( ) ;
79+ const { container, rerender } = render (
80+ < Input onPressEnter = { onPressEnter } /> ,
81+ ) ;
82+ const inputEl = container . querySelector ( 'input' ) ! ;
83+ expect ( inputEl . disabled ) . toBe ( false ) ;
84+ fireEvent . keyDown ( inputEl , { key : 'Enter' } ) ;
85+ rerender ( < Input onPressEnter = { onPressEnter } disabled = { true } /> ) ;
86+ expect ( inputEl . disabled ) . toBe ( true ) ;
87+ fireEvent . keyDown ( inputEl , { key : 'Enter' } ) ;
88+ expect ( onPressEnter ) . toBeCalledTimes ( 2 ) ;
89+ } ) ;
90+
6391 it ( 'should trigger onChange' , ( ) => {
6492 const onChange = jest . fn ( ) ;
6593 const { container } = render ( < Input onChange = { onChange } /> ) ;
0 commit comments