diff --git a/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap b/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap index 43bc80abf..70c165a05 100644 --- a/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap +++ b/app/components/markdown/markdown_emoji/__snapshots__/markdown_emoji.test.js.snap @@ -31,3 +31,164 @@ exports[`MarkdownEmoji should match snapshot 1`] = ` `; + +exports[`MarkdownEmoji should render with hardbreaks 1`] = ` + + + + + + + + + + + + + + + + + + + + + + +`; diff --git a/app/components/markdown/markdown_emoji/markdown_emoji.js b/app/components/markdown/markdown_emoji/markdown_emoji.js index e9995b80d..7fae0381d 100644 --- a/app/components/markdown/markdown_emoji/markdown_emoji.js +++ b/app/components/markdown/markdown_emoji/markdown_emoji.js @@ -39,6 +39,7 @@ export default class MarkdownEmoji extends PureComponent { paragraph: this.renderParagraph, document: this.renderParagraph, text: this.renderText, + hardbreak: this.renderNewLine, }, }); }; @@ -73,10 +74,14 @@ export default class MarkdownEmoji extends PureComponent { renderText = ({context, literal}) => { const style = this.computeTextStyle(this.props.baseTextStyle, context); - return {literal}; }; + renderNewLine = ({context}) => { + const style = this.computeTextStyle(this.props.baseTextStyle, context); + return {'\n'}; + } + renderEditedIndicator = ({context}) => { let spacer = ''; if (context[0] === 'paragraph') { @@ -101,7 +106,7 @@ export default class MarkdownEmoji extends PureComponent { }; render() { - const ast = this.parser.parse(this.props.value); + const ast = this.parser.parse(this.props.value.replace(/\n*$/, '')); if (this.props.isEdited) { const editIndicatorNode = new Node('edited_indicator'); diff --git a/app/components/markdown/markdown_emoji/markdown_emoji.test.js b/app/components/markdown/markdown_emoji/markdown_emoji.test.js index 327c016c7..666dc9020 100644 --- a/app/components/markdown/markdown_emoji/markdown_emoji.test.js +++ b/app/components/markdown/markdown_emoji/markdown_emoji.test.js @@ -24,4 +24,17 @@ describe('MarkdownEmoji', () => { expect(wrapper.getElement()).toMatchSnapshot(); }); + + test('should render with hardbreaks', () => { + const wrapper = shallow( + , + ); + + expect(wrapper.getElement()).toMatchSnapshot(); + }); });