Hide spoilers from desktop notifications (#31699)
* Hide spoilers from desktop notifications * Replace unicode blocks with spoiler tag * Run prettier * Add comments
This commit is contained in:
@@ -358,6 +358,46 @@ describe("Notifier", () => {
|
||||
reply,
|
||||
);
|
||||
});
|
||||
|
||||
it.each([
|
||||
["This was a triumph", "This was a triumph", "This was a triumph"],
|
||||
["This was a triumph", "<span data-mx-spoiler>This was a triumph</span>", "[Spoiler]"],
|
||||
["This was a triumph", '<span data-mx-spoiler="triumph">This was a triumph</span>', "[Spoiler]"],
|
||||
["foo bar baz", "foo <span data-mx-spoiler>bar</span> baz", "foo [Spoiler] baz"],
|
||||
["foo foo foo", "foo <span data-mx-spoiler>foo</span> foo", "foo [Spoiler] foo"],
|
||||
[
|
||||
"a b c d e",
|
||||
"a <span data-mx-spoiler>b</span> c <span data-mx-spoiler>d</span> e",
|
||||
"a [Spoiler] c [Spoiler] e",
|
||||
],
|
||||
["foo foo", "foo <span data-mx-spoiler></span> foo", "foo [Spoiler] foo"],
|
||||
["foo bar baz", "foo <span data-mx-spoiler>b<em>a</em>r</span> baz", "foo [Spoiler] baz"],
|
||||
["foobar", "<span data-mx-spoiler>foo</span><span data-mx-spoiler>bar</span>", "[Spoiler][Spoiler]"],
|
||||
["foo bar baz", "<strong>foo <span data-mx-spoiler>bar</span> baz</strong>", "foo [Spoiler] baz"],
|
||||
["foo <bar> baz", "foo <span data-mx-spoiler><bar></span> baz", "foo [Spoiler] baz"],
|
||||
["foo\nbar\nbaz", "foo<span data-mx-spoiler><br>bar<br></span>baz", "foo[Spoiler]baz"],
|
||||
])("should hide spoilers in notification", (body, formattedBody, expected) => {
|
||||
const spoilerEvent = mkEvent({
|
||||
event: true,
|
||||
type: EventType.RoomMessage,
|
||||
user: mockClient.getSafeUserId(),
|
||||
room: testRoom.roomId,
|
||||
content: {
|
||||
msgtype: MsgType.Text,
|
||||
body: body,
|
||||
format: "org.matrix.custom.html",
|
||||
formatted_body: formattedBody,
|
||||
},
|
||||
});
|
||||
Notifier.displayPopupNotification(spoilerEvent, testRoom);
|
||||
expect(MockPlatform.displayNotification).toHaveBeenCalledWith(
|
||||
"@bob:example.org (!room1:server)",
|
||||
expected,
|
||||
expect.any(String),
|
||||
testRoom,
|
||||
spoilerEvent,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe("getSoundForRoom", () => {
|
||||
|
||||
Reference in New Issue
Block a user