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) {
|
if (!parser.isPlainText() || forceHTML) {
|
||||||
return parser.toHTML();
|
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) {
|
export function textSerialize(model) {
|
||||||
|
|
|
@ -43,4 +43,10 @@ describe('editor/serialize', function() {
|
||||||
const html = htmlSerializeIfNeeded(model, {});
|
const html = htmlSerializeIfNeeded(model, {});
|
||||||
expect(html).toBe("<em>hello</em> world");
|
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