Merge pull request #4008 from BobVul/fix-markdown-escapes
Fix escaped markdown passing backslashes throughpull/21833/head
commit
43f15ab47d
|
@ -41,6 +41,14 @@ export function htmlSerializeIfNeeded(model, {forceHTML = false} = {}) {
|
|||
if (!parser.isPlainText() || forceHTML) {
|
||||
return parser.toHTML();
|
||||
}
|
||||
// Format "plain" text to ensure removal of backslash escapes
|
||||
// https://github.com/vector-im/riot-web/issues/11230
|
||||
// https://github.com/vector-im/riot-web/issues/2870
|
||||
const postParsePlaintext = parser.toPlaintext();
|
||||
if (postParsePlaintext !== md) {
|
||||
// only return "formatted" text if it differs from the source text
|
||||
return postParsePlaintext;
|
||||
}
|
||||
}
|
||||
|
||||
export function textSerialize(model) {
|
||||
|
|
|
@ -43,4 +43,10 @@ describe('editor/serialize', function() {
|
|||
const html = htmlSerializeIfNeeded(model, {});
|
||||
expect(html).toBe("<em>hello</em> world");
|
||||
});
|
||||
it('escaped markdown should not retain backslashes', function() {
|
||||
const pc = createPartCreator();
|
||||
const model = new EditorModel([pc.plain('\\*hello\\* world')]);
|
||||
const html = htmlSerializeIfNeeded(model, {});
|
||||
expect(html).toBe('*hello* world');
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue