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
+ }
}