@@ -35,6 +35,8 @@ function Markdown({ source, className = "" }) { | |||||
linkTarget: "_blank" | linkTarget: "_blank" | ||||
}) | }) | ||||
md.core.ruler.disable(["replacements", "smartquotes"]) | |||||
const html = md.render(source) | const html = md.render(source) | ||||
const sanitized = sanitizer(html) | const sanitized = sanitizer(html) | ||||
@@ -0,0 +1,10 @@ | |||||
--- | |||||
swagger: '2.0' | |||||
info: | |||||
title: Foobar Service | |||||
description: '<br><p>Example of a simple GET request via curl with bearer HTTP Authentication:</p><pre>curl | |||||
-X GET "https://foobar.com/stuff" -H "Accept: application/json" -H "Authorization: | |||||
Bearer abc123.xyz.789"</pre>' | |||||
version: '2.0' | |||||
paths: {} | |||||
@@ -0,0 +1,15 @@ | |||||
describe("#5060: unwanted smart quotes in rendered Markdown", () => { | |||||
it("should not convert regular quotes to smart quotes", () => { | |||||
cy | |||||
.visit("/?url=/documents/bugs/5060.yaml") | |||||
.get("div.description") | |||||
.should($el => { | |||||
const text = $el.get(0).textContent | |||||
expect(text).to.include(`Example of a simple GET request via curl with bearer HTTP Authentication`) | |||||
expect(text).to.include(`curl -X GET "https://foobar.com/stuff"`) | |||||
expect(text).to.include(`-H "Accept: application/json"`) | |||||
expect(text).to.include(`-H "Authorization: Bearer abc123.xyz.789"`) | |||||
expect(text.indexOf(`“`)).to.equal(-1) | |||||
}) | |||||
}) | |||||
}) |