diff --git a/RiotTests/MatrixKitTests/MXKEventFormatterTests.swift b/RiotTests/MatrixKitTests/MXKEventFormatterSwiftTests.swift similarity index 72% rename from RiotTests/MatrixKitTests/MXKEventFormatterTests.swift rename to RiotTests/MatrixKitTests/MXKEventFormatterSwiftTests.swift index 31db30954..03731dd50 100644 --- a/RiotTests/MatrixKitTests/MXKEventFormatterTests.swift +++ b/RiotTests/MatrixKitTests/MXKEventFormatterSwiftTests.swift @@ -29,9 +29,10 @@ private enum Constants { static let expectedEditedHTML = "
In reply to alice
Edited message
Reply" static let expectedEditedHTMLWithNewContent = "
In reply to alice
New content
Reply" static let expectedEditedHTMLWithParsedItalic = "
In reply to alice
New content
Reply" + static let expectedReplyToPollEndedEvent = "
In reply to alice
Ended poll
Reply" } -class MXKEventFormatterTests: XCTestCase { +class MXKEventFormatterSwiftTests: XCTestCase { func testBuildHTMLString() { let formatter = MXKEventFormatter() let repliedEvent = MXEvent() @@ -73,4 +74,39 @@ class MXKEventFormatterTests: XCTestCase { repliedEvent.wireContent[kMXMessageContentKeyNewContent] = nil XCTAssertNil(buildHTML()) } + + func testBuildHTMLStringWithPollEndedReply() { + let formatter = MXKEventFormatter() + let repliedEvent: MXEvent = .mockEvent(eventType: kMXEventTypeStringPollEnd, body: nil) + + let event = MXEvent() + event.sender = "bob" + event.wireType = kMXEventTypeStringRoomMessage + event.wireContent = [ + kMXMessageTypeKey: kMXMessageTypeText, + kMXMessageBodyKey: Constants.replyBody, + kMXEventRelationRelatesToKey: [kMXEventContentRelatesToKeyInReplyTo: ["event_id": Constants.repliedEventId]] + ] + + let formattedText = formatter.buildHTMLString(for: event, inReplyTo: repliedEvent) + + XCTAssertEqual(formattedText, Constants.expectedReplyToPollEndedEvent) + } +} + +private extension MXEvent { + static func mockEvent(eventType: String, body: String? = Constants.repliedEventBody) -> MXEvent { + let repliedEvent = MXEvent() + repliedEvent.sender = "alice" + repliedEvent.roomId = Constants.roomId + repliedEvent.eventId = Constants.repliedEventId + repliedEvent.wireType = eventType + repliedEvent.wireContent = [kMXMessageTypeKey: kMXMessageTypeText] + + if let body = body { + repliedEvent.wireContent[kMXMessageBodyKey] = body + } + + return repliedEvent + } }