diff --git a/src/Dropdown.js b/src/Dropdown.js index b5beb360d..a79e4ea09 100644 --- a/src/Dropdown.js +++ b/src/Dropdown.js @@ -206,7 +206,7 @@ class Dropdown extends React.Component { addonType, tag, ...attrs - } = omit(this.props, ['toggle', 'disabled', 'inNavbar']); + } = omit(this.props, ['toggle', 'disabled', 'inNavbar', 'a11y']); const Tag = tag || (nav ? 'li' : 'div'); diff --git a/src/__tests__/Dropdown.spec.js b/src/__tests__/Dropdown.spec.js index b34b02a98..ecb1ff505 100644 --- a/src/__tests__/Dropdown.spec.js +++ b/src/__tests__/Dropdown.spec.js @@ -68,6 +68,22 @@ describe('Dropdown', () => { }); describe('handleProps', () => { + it('should not pass custom props to html attrs', () => { + const wrapper = mount( + + Toggle + + Test + + + ); + + expect(wrapper.find('.dropdown').prop('inNavbar')).toBe(undefined); + expect(wrapper.find('.dropdown').prop('toggle')).toBe(undefined); + expect(wrapper.find('.dropdown').prop('a11y')).toBe(undefined); + expect(wrapper.find('.dropdown').prop('isOpen')).toBe(undefined); + }); + it('should be called on componentDidUpdate when isOpen changed', () => { jest.spyOn(Dropdown.prototype, 'componentDidUpdate'); jest.spyOn(Dropdown.prototype, 'handleProps');