From 704b3189a1fbe574990ce9e272d52217fa13d4a8 Mon Sep 17 00:00:00 2001 From: Sorunome <mail@sorunome.de> Date: Thu, 31 Jan 2019 16:58:11 +0100 Subject: [PATCH] escape pipe M->D --- src/matrixmessageprocessor.ts | 2 +- test/test_matrixmessageprocessor.ts | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/matrixmessageprocessor.ts b/src/matrixmessageprocessor.ts index 562d20a..e47f3ef 100644 --- a/src/matrixmessageprocessor.ts +++ b/src/matrixmessageprocessor.ts @@ -94,7 +94,7 @@ export class MatrixMessageProcessor { msg = msg.replace(/@room/g, "@here"); } } - const escapeChars = ["\\", "*", "_", "~", "`"]; + const escapeChars = ["\\", "*", "_", "~", "`", "|"]; msg = msg.split(" ").map((s) => { if (s.match(/^https?:\/\//)) { return s; diff --git a/test/test_matrixmessageprocessor.ts b/test/test_matrixmessageprocessor.ts index a823c65..66fced8 100644 --- a/test/test_matrixmessageprocessor.ts +++ b/test/test_matrixmessageprocessor.ts @@ -98,6 +98,13 @@ describe("MatrixMessageProcessor", () => { const result = await mp.FormatMessage(msg, guild as any); expect(result).is.equal("wow \\\\\\*this\\\\\\* is cool"); }); + it("escapes ALL the stuff", async () => { + const mp = new MatrixMessageProcessor(bot); + const guild = new MockGuild("1234"); + const msg = getPlainMessage("\\ * _ ~ ` |"); + const result = await mp.FormatMessage(msg, guild as any); + expect(result).is.equal("\\\\ \\* \\_ \\~ \\` \\|"); + }); }); describe("FormatMessage / formatted_body / simple", () => { it("leaves blank stuff untouched", async () => { -- GitLab