diff --git a/core/server/lib/mobiledoc/cards/html.js b/core/server/lib/mobiledoc/cards/html.js index 31a938635797..7e72ce10dcc0 100644 --- a/core/server/lib/mobiledoc/cards/html.js +++ b/core/server/lib/mobiledoc/cards/html.js @@ -2,6 +2,10 @@ module.exports = { name: 'html', type: 'dom', render(opts) { + if (!opts.payload.html) { + return ''; + } + // use the SimpleDOM document to create a raw HTML section. // avoids parsing/rendering of potentially broken or unsupported HTML return opts.env.dom.createRawHTMLSection(opts.payload.html); diff --git a/core/test/unit/lib/mobiledoc/cards/html_spec.js b/core/test/unit/lib/mobiledoc/cards/html_spec.js index 39c130f82094..331a885e76ee 100644 --- a/core/test/unit/lib/mobiledoc/cards/html_spec.js +++ b/core/test/unit/lib/mobiledoc/cards/html_spec.js @@ -44,4 +44,17 @@ describe('HTML card', function () { serializer.serialize(card.render(opts)).should.match('

HEADING<'); }); + + it('Renders nothing when payload is undefined', function () { + let opts = { + env: { + dom: new SimpleDom.Document() + }, + payload: { + html: undefined + } + }; + + serializer.serialize(card.render(opts)).should.match(''); + }); }); diff --git a/core/test/unit/lib/mobiledoc/cards/markdown_spec.js b/core/test/unit/lib/mobiledoc/cards/markdown_spec.js index 00cdeafe62d5..3ccf8b2a1a01 100644 --- a/core/test/unit/lib/mobiledoc/cards/markdown_spec.js +++ b/core/test/unit/lib/mobiledoc/cards/markdown_spec.js @@ -72,5 +72,21 @@ describe('Markdown card', function () { serializer.serialize(card.render(opts)).should.match('

HEADING

\n

Heading 2>'); }); + + it('Renders nothing when payload is undefined', function () { + let opts = { + env: { + dom: new SimpleDom.Document() + }, + payload: { + markdown: undefined + }, + options: { + version: 2 + } + }; + + serializer.serialize(card.render(opts)).should.match(''); + }); }); });