@@ -55,15 +55,15 @@ describe('Tabs.Basic', () => {
5555 const list : { name : string ; trigger : ( wrapper : ReactWrapper ) => void } [ ] = [
5656 {
5757 name : 'outer div' ,
58- trigger : ( wrapper ) => wrapper . find ( '.rc-tabs-tab' ) . at ( 2 ) . simulate ( 'click' ) ,
58+ trigger : wrapper => wrapper . find ( '.rc-tabs-tab' ) . at ( 2 ) . simulate ( 'click' ) ,
5959 } ,
6060 {
6161 name : 'inner button' ,
62- trigger : ( wrapper ) => wrapper . find ( '.rc-tabs-tab .rc-tabs-tab-btn' ) . at ( 2 ) . simulate ( 'click' ) ,
62+ trigger : wrapper => wrapper . find ( '.rc-tabs-tab .rc-tabs-tab-btn' ) . at ( 2 ) . simulate ( 'click' ) ,
6363 } ,
6464 {
6565 name : 'inner button key down' ,
66- trigger : ( wrapper ) =>
66+ trigger : wrapper =>
6767 wrapper . find ( '.rc-tabs-tab .rc-tabs-tab-btn' ) . at ( 2 ) . simulate ( 'keydown' , {
6868 which : KeyCode . SPACE ,
6969 } ) ,
@@ -81,6 +81,17 @@ describe('Tabs.Basic', () => {
8181 expect ( onChange ) . toHaveBeenCalledWith ( 'cute' ) ;
8282 } ) ;
8383 } ) ;
84+
85+ // https://github.com/ant-design/ant-design/issues/33032
86+ it ( 'should not trigger onChange when click current tab' , ( ) => {
87+ const onChange = jest . fn ( ) ;
88+ const onTabClick = jest . fn ( ) ;
89+ const wrapper = mount ( getTabs ( { onChange, onTabClick } ) ) ;
90+
91+ wrapper . find ( '.rc-tabs-tab' ) . at ( 0 ) . simulate ( 'click' ) ;
92+ expect ( onTabClick ) . toHaveBeenCalledWith ( 'light' , expect . anything ( ) ) ;
93+ expect ( onChange ) . not . toHaveBeenCalled ( ) ;
94+ } ) ;
8495 } ) ;
8596
8697 it ( 'active first tab when children is changed' , ( ) => {
@@ -93,7 +104,6 @@ describe('Tabs.Basic', () => {
93104 ) ,
94105 } ) ;
95106 wrapper . update ( ) ;
96-
97107 expect ( wrapper . find ( '.rc-tabs-tab-active' ) . text ( ) ) . toEqual ( 'Yo' ) ;
98108 } ) ;
99109
@@ -126,7 +136,7 @@ describe('Tabs.Basic', () => {
126136 const renderTabBar = jest . fn ( ( props , Component ) => {
127137 return (
128138 < div className = "my-wrapper" >
129- < Component { ...props } > { ( node ) => < span className = "my-node" > { node } </ span > } </ Component >
139+ < Component { ...props } > { node => < span className = "my-node" > { node } </ span > } </ Component >
130140 </ div >
131141 ) ;
132142 } ) ;
@@ -136,10 +146,10 @@ describe('Tabs.Basic', () => {
136146 expect ( renderTabBar ) . toHaveBeenCalled ( ) ;
137147 } ) ;
138148 it ( 'has panes property in props' , ( ) => {
139- const renderTabBar = ( props ) => {
149+ const renderTabBar = props => {
140150 return (
141151 < div >
142- { props . panes . map ( ( pane ) => (
152+ { props . panes . map ( pane => (
143153 < span key = { pane . key } data-key = { pane . key } >
144154 tab
145155 </ span >
@@ -194,7 +204,7 @@ describe('Tabs.Basic', () => {
194204 const list : { name : string ; trigger : ( node : ReactWrapper ) => void } [ ] = [
195205 {
196206 name : 'click' ,
197- trigger : ( node ) => {
207+ trigger : node => {
198208 node . simulate ( 'click' ) ;
199209 } ,
200210 } ,
0 commit comments