Skip to content

Commit 4966246

Browse files
author
Kenny Wang
committed
fix(media): InnerClassName passes through to the media-body
Added spec tests for flag and media for className, innerClassName, id, and style passthrough. Added innerClassName to scss documentation. [Finishes #98913330]
1 parent 3f533de commit 4966246

File tree

3 files changed

+26
-4
lines changed

3 files changed

+26
-4
lines changed

spec/pivotal-ui-react/media/media_spec.js

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,16 +124,37 @@ describe('Media', function() {
124124
});
125125
});
126126

127+
describe('when custom attributes are set on media', function() {
128+
beforeEach(function() {
129+
var image = (<img src="http://placehold.it/20x20" />);
130+
React.render((<Media leftImage={image} stackSize="medium" innerClassName="inner-test-class" className="test-class" id="test-id" style={{opacity: 1}}>fop</Media>), root);
131+
});
132+
133+
it('the class, id, and style are passed through', function() {
134+
expect('.media').toHaveClass('test-class');
135+
expect('.media-body').toHaveClass('inner-test-class');
136+
expect('.media').toHaveAttr('id', 'test-id');
137+
expect('.media').toHaveCss({opacity: '1'});
138+
});
139+
});
140+
127141
describe('Flag', function() {
128142
beforeEach(function() {
129143
var image = (<img src="http://placehold.it/20x20"/>);
130-
React.render((<Flag leftImage={image} rightImage={image}>fop</Flag>), root);
144+
React.render((<Flag leftImage={image} rightImage={image} innerClassName="inner-test-class" className="test-class" id="test-id" style={{opacity: 1}}>fop</Flag>), root);
131145
});
132146

133147
it('adds the class media-middle to the media-body, media-left, and media-right', function() {
134148
expect('.media-body').toHaveClass('media-middle');
135149
expect('.media-left').toHaveClass('media-middle');
136150
expect('.media-right').toHaveClass('media-middle');
137151
});
152+
153+
it('the class, id, and style are passed through', function() {
154+
expect('.media').toHaveClass('test-class');
155+
expect('.media-body').toHaveClass('inner-test-class');
156+
expect('.media').toHaveAttr('id', 'test-id');
157+
expect('.media').toHaveCss({opacity: '1'});
158+
});
138159
});
139160
});

src/pivotal-ui-react/media/media.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,10 @@ var Media = React.createClass({
5656
},
5757

5858
render() {
59-
var {className, leftImage, leftMediaSpacing, rightImage, rightMediaSpacing, stackSize, vAlign, children, ...other} = this.props;
59+
var {className, innerClassName, leftImage, leftMediaSpacing, rightImage, rightMediaSpacing, stackSize, vAlign, children, ...other} = this.props;
6060

6161
var classes = classnames('media', stackSize && `media-stackable-${shortSizes[stackSize]}`, className);
62-
var bodyClasses = classnames('media-body', vAlign && `media-${vAlign}`);
62+
var bodyClasses = classnames('media-body', vAlign && `media-${vAlign}`, innerClassName);
6363

6464
var leftMedia = leftImage ?
6565
<MediaObject horizontalAlignment="left" {...{vAlign, leftMediaSpacing}}>{leftImage}</MediaObject> :

src/pivotal-ui/components/media/media.scss

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,8 @@ var mediaBasicLinkedImage = <UI.Image src='http://placehold.it/50x50' href="http
282282
283283
```react_example_table
284284
<UI.Media
285-
leftImage={mediaBasicImage}>
285+
leftImage={mediaBasicImage}
286+
innerClassName='my-media-body'>
286287
left media
287288
</UI.Media>
288289

0 commit comments

Comments
 (0)