From 86ee417efa4bb649eebf6b6b2afa9227a5534ec2 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 09:42:42 -0700 Subject: [PATCH 1/8] update CircleBadge --- src/CircleBadge.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/CircleBadge.js b/src/CircleBadge.js index 5ca9f2bb194..0a218f74061 100644 --- a/src/CircleBadge.js +++ b/src/CircleBadge.js @@ -2,10 +2,11 @@ import React from 'react' import PropTypes from 'prop-types' import classnames from 'classnames' import {mapWhitespaceProps} from './props' +import {withSystemProps, COMMON} from './system-props' const ICON_CLASS = 'CircleBadge-icon' -const CircleBadge = ({tag: Tag = 'div', size = 'medium', bg, children, ...rest}) => { +const CircleBadge = ({is: Tag = 'div', size = 'medium', bg, children, ...rest}) => { const {className} = mapWhitespaceProps(rest) const mappedChildren = React.Children.map(children, child => { let {className = ''} = child.props @@ -29,4 +30,4 @@ CircleBadge.propTypes = { src: PropTypes.string } -export default CircleBadge +export default withSystemProps(CircleBadge, COMMON) From b355f239d7cf76d1076dc5faae8c541b212e0d8d Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 09:42:53 -0700 Subject: [PATCH 2/8] change tag to is in tests --- src/__tests__/CircleBadge.js | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/src/__tests__/CircleBadge.js b/src/__tests__/CircleBadge.js index d76160aa5c5..5fe92c2aa24 100644 --- a/src/__tests__/CircleBadge.js +++ b/src/__tests__/CircleBadge.js @@ -15,10 +15,10 @@ describe('CircleBadge', () => { expect(rendersClass(, 'CircleBadge--medium')).toEqual(true) }) - it('respects tag prop', () => { + it('respects "is" prop', () => { expect( render( - + {imgInput} ) @@ -34,7 +34,7 @@ describe('CircleBadge', () => { it('applies title', () => { expect( render( - + {imgInput} ).props['title'] @@ -67,11 +67,4 @@ describe('CircleBadge', () => { ) expect(comp.find('img').hasClass('primer')).toEqual(true) }) - it('respects margin utility prop', () => { - expect(rendersClass(, 'm-4')).toEqual(true) - }) - - it('respects padding utility prop', () => { - expect(rendersClass(, 'p-4')).toEqual(true) - }) }) From 798f718ac463f8f9a65c8c517db5c53f6ae58266 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 09:50:11 -0700 Subject: [PATCH 3/8] remove mapWhitespaceProps --- src/CircleBadge.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/CircleBadge.js b/src/CircleBadge.js index 0a218f74061..4e4f394ae5d 100644 --- a/src/CircleBadge.js +++ b/src/CircleBadge.js @@ -1,13 +1,11 @@ import React from 'react' import PropTypes from 'prop-types' import classnames from 'classnames' -import {mapWhitespaceProps} from './props' import {withSystemProps, COMMON} from './system-props' const ICON_CLASS = 'CircleBadge-icon' -const CircleBadge = ({is: Tag = 'div', size = 'medium', bg, children, ...rest}) => { - const {className} = mapWhitespaceProps(rest) +const CircleBadge = ({is: Tag = 'div', size = 'medium', bg, children, className, ...rest}) => { const mappedChildren = React.Children.map(children, child => { let {className = ''} = child.props if (!className.includes(ICON_CLASS)) { From 1d3ecd61cdc4dfbc0252a4c2069911a8dfdc31c7 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 09:50:19 -0700 Subject: [PATCH 4/8] update test --- src/__tests__/CircleBadge.js | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/__tests__/CircleBadge.js b/src/__tests__/CircleBadge.js index 5fe92c2aa24..475446832b6 100644 --- a/src/__tests__/CircleBadge.js +++ b/src/__tests__/CircleBadge.js @@ -12,23 +12,15 @@ describe('CircleBadge', () => { }) it('renders medium by default', () => { - expect(rendersClass(, 'CircleBadge--medium')).toEqual(true) + expect(render().props.className).toContain('CircleBadge--medium') }) it('respects "is" prop', () => { - expect( - render( - - {imgInput} - - ) - ).toEqual( - render( - - {imgOutput} - - ) + const item = render( + ) + expect(item.type).toEqual('a') + expect(item).toMatchSnapshot() }) it('applies title', () => { From ca4396f8a2a583247c49751c9d8650cbf9c4ff06 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 09:50:24 -0700 Subject: [PATCH 5/8] update snapshot --- .../__snapshots__/CircleBadge.js.snap | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/__tests__/__snapshots__/CircleBadge.js.snap diff --git a/src/__tests__/__snapshots__/CircleBadge.js.snap b/src/__tests__/__snapshots__/CircleBadge.js.snap new file mode 100644 index 00000000000..8cfd510d07d --- /dev/null +++ b/src/__tests__/__snapshots__/CircleBadge.js.snap @@ -0,0 +1,28 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`CircleBadge respects "is" prop 1`] = ` + +`; From 55863d464da9caa760b09a7ccf166534c268ea91 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 09:57:40 -0700 Subject: [PATCH 6/8] change test back --- src/__tests__/CircleBadge.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/__tests__/CircleBadge.js b/src/__tests__/CircleBadge.js index 475446832b6..87d23d2040a 100644 --- a/src/__tests__/CircleBadge.js +++ b/src/__tests__/CircleBadge.js @@ -12,7 +12,7 @@ describe('CircleBadge', () => { }) it('renders medium by default', () => { - expect(render().props.className).toContain('CircleBadge--medium') + expect(render().props.className).toContain('CircleBadge--medium') }) it('respects "is" prop', () => { From 04be5ddb8db4d406dca5bca9fb3ac9bd76135f98 Mon Sep 17 00:00:00 2001 From: Shawn Allen Date: Tue, 7 Aug 2018 10:13:38 -0700 Subject: [PATCH 7/8] update snapshots --- src/__tests__/__snapshots__/UnderlineNavLink.js.snap | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/__tests__/__snapshots__/UnderlineNavLink.js.snap b/src/__tests__/__snapshots__/UnderlineNavLink.js.snap index 09863437fd7..b9abbd9ff40 100644 --- a/src/__tests__/__snapshots__/UnderlineNavLink.js.snap +++ b/src/__tests__/__snapshots__/UnderlineNavLink.js.snap @@ -24,7 +24,6 @@ exports[`UnderlineNavLink renders the given "tag" prop 1`] = ` ] } className="UnderlineNav-item no-underline emotion-0" - is={[Function]} /> `; @@ -52,6 +51,5 @@ exports[`UnderlineNavLink respects the "selected" prop 1`] = ` ] } className="UnderlineNav-item no-underline selected emotion-0" - is={[Function]} /> `; From 173ef578361f4fe304f582d9ad98574c0377e8be Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 7 Aug 2018 10:43:14 -0700 Subject: [PATCH 8/8] fix lint issues --- src/__tests__/CircleBadge.js | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/__tests__/CircleBadge.js b/src/__tests__/CircleBadge.js index 87d23d2040a..2c33548e9a4 100644 --- a/src/__tests__/CircleBadge.js +++ b/src/__tests__/CircleBadge.js @@ -3,7 +3,6 @@ import React from 'react' import CircleBadge from '../CircleBadge' import {render, rendersClass, mount} from '../utils/testing' -const imgOutput = const imgInput = describe('CircleBadge', () => { @@ -16,9 +15,7 @@ describe('CircleBadge', () => { }) it('respects "is" prop', () => { - const item = render( - - ) + const item = render() expect(item.type).toEqual('a') expect(item).toMatchSnapshot() })