Преглед изворни кода

Merge pull request #3287 from shockey/bug/3279-markdown-falsey-values

Don't render Markdown if input or sanitized input is empty
bubble
shockey пре 7 година
committed by GitHub
родитељ
комит
4c2a6f452e
2 измењених фајлова са 43 додато и 0 уклоњено
  1. +6
    -0
      src/core/components/providers/markdown.jsx
  2. +37
    -0
      test/bugs/3279-empty-markdown-source.js

+ 6
- 0
src/core/components/providers/markdown.jsx Прегледај датотеку

@@ -11,6 +11,12 @@ const sanitizeOptions = {

function Markdown({ source }) {
const sanitized = sanitize(source, sanitizeOptions)

// sometimes the sanitizer returns "undefined" as a string
if(!source || !sanitized || sanitized === "undefined") {
return null
}

return <Remarkable
options={{html: true, typographer: true, linkify: true, linkTarget: "_blank"}}
source={sanitized}


+ 37
- 0
test/bugs/3279-empty-markdown-source.js Прегледај датотеку

@@ -0,0 +1,37 @@
/* eslint-env mocha */
import React from "react"
import expect from "expect"
import { render } from "enzyme"
import Markdown from "components/providers/markdown"

describe("UI-3279: Empty Markdown inputs causing bare `undefined` in output", function(){
it("should return no text for `null` as source input", function(){
let props = {
source: null
}

let el = render(<Markdown {...props}/>)

expect(el.text()).toEqual("")
})

it("should return no text for `undefined` as source input", function(){
let props = {
source: undefined
}

let el = render(<Markdown {...props}/>)

expect(el.text()).toEqual("")
})

it("should return no text for empty string as source input", function(){
let props = {
source: ""
}

let el = render(<Markdown {...props}/>)

expect(el.text()).toEqual("")
})
})

Loading…
Откажи
Сачувај