diff --git a/src/components/Accordion/Accordion-story.js b/src/components/Accordion/Accordion-story.js index 9e721b8d1651..5febd9f12113 100644 --- a/src/components/Accordion/Accordion-story.js +++ b/src/components/Accordion/Accordion-story.js @@ -53,7 +53,13 @@ storiesOf('Accordion', module).addWithInfo( - + + Section 4 title (the title can be a node) + + } + {...props}>

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad diff --git a/src/components/AccordionItem/AccordionItem-test.js b/src/components/AccordionItem/AccordionItem-test.js index acf2ba2fded3..cfdf55b75fb0 100644 --- a/src/components/AccordionItem/AccordionItem-test.js +++ b/src/components/AccordionItem/AccordionItem-test.js @@ -59,6 +59,35 @@ describe('AccordionItem', () => { }); }); + describe('Renders a node title as expected', () => { + const titleNode = shallow( +

+ Something + A heading +

+ ); + const wrapper = shallow( + + Lorem ipsum. + + ); + + it('renders heading as expected', () => { + const heading = wrapper.find('.bx--accordion__heading'); + expect(heading.length).toBe(1); + expect(heading.find(Icon).length).toBe(1); + const title = heading.find('.bx--accordion__title'); + expect(title.text()).toBe('A heading'); + expect(title.find('h2').exists()).toEqual(true); + expect(title.find('h2').hasClass('TitleClass')).toEqual(true); + expect(title.find('img').exists()).toEqual(true); + expect(title.find('img').props()).toEqual({ + alt: 'Something', + src: 'some_image.png', + }); + }); + }); + describe('Check that functions passed in as props are called', () => { const onClick = jest.fn(); const onHeadingClick = jest.fn(); diff --git a/src/components/AccordionItem/AccordionItem.js b/src/components/AccordionItem/AccordionItem.js index 286369b22d27..eda7f5aa0dbb 100644 --- a/src/components/AccordionItem/AccordionItem.js +++ b/src/components/AccordionItem/AccordionItem.js @@ -7,7 +7,7 @@ export default class AccordionItem extends Component { static propTypes = { children: PropTypes.node, className: PropTypes.string, - title: PropTypes.string, + title: PropTypes.node, open: PropTypes.bool, onClick: PropTypes.func, onHeadingClick: PropTypes.func,