File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -70,7 +70,7 @@ class Button extends React.Component {
7070
7171 return (
7272 < Tag
73- type = { Tag === 'button' ? 'button' : undefined }
73+ type = { ( Tag === 'button' && attributes . onClick ) ? 'button' : undefined }
7474 { ...attributes }
7575 className = { classes }
7676 ref = { getRef }
Original file line number Diff line number Diff line change @@ -88,7 +88,7 @@ class DropdownItem extends React.Component {
8888
8989 return (
9090 < Tag
91- type = { Tag === 'button' ? 'button' : undefined }
91+ type = { ( Tag === 'button' && ( props . onClick || this . props . toggle ) ) ? 'button' : undefined }
9292 { ...props }
9393 tabIndex = { tabIndex }
9494 className = { classes }
Original file line number Diff line number Diff line change @@ -24,9 +24,16 @@ describe('Button', () => {
2424 expect ( wrapper . text ( ) ) . toBe ( 'Home' ) ;
2525 } ) ;
2626
27- it ( 'should render type as "button" by default when tag is "button"' , ( ) => {
27+ it ( 'should render type as undefined by default when tag is "button"' , ( ) => {
2828 const wrapper = mount ( < Button > Home</ Button > ) ;
2929
30+ expect ( wrapper . find ( 'button' ) . prop ( 'type' ) ) . toBe ( undefined ) ;
31+ expect ( wrapper . text ( ) ) . toBe ( 'Home' ) ;
32+ } ) ;
33+
34+ it ( 'should render type as "button" by default when tag is "button" and onClick is provided' , ( ) => {
35+ const wrapper = mount ( < Button onClick = { ( ) => { } } > Home</ Button > ) ;
36+
3037 expect ( wrapper . find ( 'button' ) . prop ( 'type' ) ) . toBe ( 'button' ) ;
3138 expect ( wrapper . text ( ) ) . toBe ( 'Home' ) ;
3239 } ) ;
Original file line number Diff line number Diff line change @@ -26,6 +26,20 @@ describe('DropdownItem', () => {
2626 expect ( wrapper . text ( ) ) . toBe ( 'Home' ) ;
2727 } ) ;
2828
29+ it ( 'should render type as undefined by default when tag is "button" and toggle is false' , ( ) => {
30+ const wrapper = mount ( < DropdownItem toggle = { false } > Home</ DropdownItem > ) ;
31+
32+ expect ( wrapper . find ( 'button' ) . prop ( 'type' ) ) . toBe ( undefined ) ;
33+ expect ( wrapper . text ( ) ) . toBe ( 'Home' ) ;
34+ } ) ;
35+
36+ it ( 'should render type as "button" by default when tag is "button" and onClick is provided' , ( ) => {
37+ const wrapper = mount ( < DropdownItem onClick = { ( ) => { } } > Home</ DropdownItem > ) ;
38+
39+ expect ( wrapper . find ( 'button' ) . prop ( 'type' ) ) . toBe ( 'button' ) ;
40+ expect ( wrapper . text ( ) ) . toBe ( 'Home' ) ;
41+ } ) ;
42+
2943 it ( 'should render type as user defined when defined by the user' , ( ) => {
3044 const wrapper = mount ( < DropdownItem type = "submit" > Home</ DropdownItem > ) ;
3145
You can’t perform that action at this time.
0 commit comments