mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Bump the RustSDK to v1.0.53: adopt latest record based timeline item APIs (#3356)
This commit is contained in:
@@ -0,0 +1,56 @@
|
||||
//
|
||||
// Copyright 2024 New Vector Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
// Please see LICENSE in the repository root for full details.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import LoremSwiftum
|
||||
import MatrixRustSDK
|
||||
|
||||
struct EventTimelineItemSDKMockConfiguration {
|
||||
var eventID: String = UUID().uuidString
|
||||
var sender = ""
|
||||
var isOwn = false
|
||||
var content: TimelineItemContent = .redactedMessage
|
||||
}
|
||||
|
||||
extension EventTimelineItem {
|
||||
init(configuration: EventTimelineItemSDKMockConfiguration) {
|
||||
self.init(isLocal: false,
|
||||
isRemote: true,
|
||||
eventOrTransactionId: .eventId(eventId: configuration.eventID),
|
||||
sender: configuration.sender,
|
||||
senderProfile: .pending,
|
||||
isOwn: configuration.isOwn,
|
||||
isEditable: false,
|
||||
content: configuration.content,
|
||||
timestamp: 0,
|
||||
reactions: [],
|
||||
debugInfoProvider: EventTimelineItemDebugInfoProviderSDKMock(),
|
||||
localSendState: nil,
|
||||
readReceipts: [:],
|
||||
origin: nil,
|
||||
canBeRepliedTo: false,
|
||||
shieldsProvider: EventShieldsProviderSDKMock())
|
||||
}
|
||||
|
||||
static var mockMessage: EventTimelineItem {
|
||||
let body = Lorem.sentences(Int.random(in: 1...5))
|
||||
let messageType = MessageType.text(content: .init(body: body, formatted: nil))
|
||||
|
||||
let content = TimelineItemContent.message(content: .init(msgType: messageType,
|
||||
body: body,
|
||||
inReplyTo: nil,
|
||||
threadRoot: nil,
|
||||
isEdited: false,
|
||||
mentions: nil))
|
||||
|
||||
return .init(configuration: .init(content: content))
|
||||
}
|
||||
|
||||
static func mockCallInvite(sender: String) -> EventTimelineItem {
|
||||
.init(configuration: .init(sender: sender, content: .callInvite))
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -82,7 +82,7 @@ extension Poll.Option {
|
||||
|
||||
extension PollRoomTimelineItem {
|
||||
static func mock(poll: Poll, isOutgoing: Bool = true, isEditable: Bool = false) -> Self {
|
||||
.init(id: .init(timelineID: UUID().uuidString, eventID: UUID().uuidString),
|
||||
.init(id: .random,
|
||||
poll: poll,
|
||||
body: "poll",
|
||||
timestamp: "Now",
|
||||
|
||||
@@ -35,7 +35,12 @@ class AutoUpdatingRoomTimelineProviderMock: RoomTimelineProvider {
|
||||
|
||||
let diff = TimelineDiffSDKMock()
|
||||
diff.changeReturnValue = .append
|
||||
diff.appendReturnValue = [TimelineItemFixtures.messageTimelineItem]
|
||||
|
||||
let timelineItem = TimelineItemSDKMock()
|
||||
timelineItem.asEventReturnValue = EventTimelineItem.mockMessage
|
||||
timelineItem.uniqueIdReturnValue = UUID().uuidString
|
||||
|
||||
diff.appendReturnValue = [timelineItem]
|
||||
|
||||
await Self.timelineListener?.onUpdate(diff: [diff])
|
||||
}
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
//
|
||||
// Copyright 2024 New Vector Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
// Please see LICENSE in the repository root for full details.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
||||
struct EventTimelineItemSDKMockConfiguration {
|
||||
var eventID: String = UUID().uuidString
|
||||
}
|
||||
|
||||
extension EventTimelineItemSDKMock {
|
||||
convenience init(configuration: EventTimelineItemSDKMockConfiguration) {
|
||||
self.init()
|
||||
eventIdReturnValue = configuration.eventID
|
||||
isOwnReturnValue = false
|
||||
timestampReturnValue = 0
|
||||
isEditableReturnValue = false
|
||||
canBeRepliedToReturnValue = false
|
||||
senderReturnValue = ""
|
||||
senderProfileReturnValue = .pending
|
||||
|
||||
let timelineItemContent = TimelineItemContentSDKMock()
|
||||
timelineItemContent.kindReturnValue = .redactedMessage
|
||||
contentReturnValue = timelineItemContent
|
||||
}
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
//
|
||||
// Copyright 2024 New Vector Ltd.
|
||||
//
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
// Please see LICENSE in the repository root for full details.
|
||||
//
|
||||
|
||||
import Combine
|
||||
import Foundation
|
||||
import LoremSwiftum
|
||||
import MatrixRustSDK
|
||||
|
||||
enum TimelineItemFixtures {
|
||||
static var callInviteTimelineItem: TimelineItem {
|
||||
let eventTimelineItem = EventTimelineItemSDKMock()
|
||||
eventTimelineItem.isOwnReturnValue = true
|
||||
eventTimelineItem.timestampReturnValue = 0
|
||||
eventTimelineItem.isEditableReturnValue = false
|
||||
eventTimelineItem.canBeRepliedToReturnValue = false
|
||||
eventTimelineItem.senderReturnValue = "@bob:matrix.org"
|
||||
eventTimelineItem.senderProfileReturnValue = .pending
|
||||
|
||||
let timelineItemContent = TimelineItemContentSDKMock()
|
||||
timelineItemContent.kindReturnValue = .callInvite
|
||||
eventTimelineItem.contentReturnValue = timelineItemContent
|
||||
|
||||
let timelineItem = TimelineItemSDKMock()
|
||||
timelineItem.asEventReturnValue = eventTimelineItem
|
||||
|
||||
return timelineItem
|
||||
}
|
||||
|
||||
static var messageTimelineItem: TimelineItem {
|
||||
let eventTimelineItem = EventTimelineItemSDKMock()
|
||||
eventTimelineItem.eventIdReturnValue = UUID().uuidString
|
||||
eventTimelineItem.isOwnReturnValue = true
|
||||
eventTimelineItem.timestampReturnValue = 0
|
||||
eventTimelineItem.isEditableReturnValue = false
|
||||
eventTimelineItem.canBeRepliedToReturnValue = false
|
||||
eventTimelineItem.senderReturnValue = "@bob:matrix.org"
|
||||
eventTimelineItem.senderProfileReturnValue = .pending
|
||||
eventTimelineItem.reactionsReturnValue = []
|
||||
eventTimelineItem.readReceiptsReturnValue = [:]
|
||||
|
||||
let timelineItemContent = TimelineItemContentSDKMock()
|
||||
|
||||
timelineItemContent.kindReturnValue = .message
|
||||
|
||||
let message = MessageSDKMock()
|
||||
|
||||
let textMessageContent = TextMessageContent(body: Lorem.sentences(Int.random(in: 1...5)), formatted: nil)
|
||||
message.msgtypeReturnValue = .text(content: textMessageContent)
|
||||
message.isThreadedReturnValue = false
|
||||
message.isEditedReturnValue = false
|
||||
|
||||
timelineItemContent.asMessageReturnValue = message
|
||||
|
||||
eventTimelineItem.contentReturnValue = timelineItemContent
|
||||
|
||||
let timelineItem = TimelineItemSDKMock()
|
||||
timelineItem.asEventReturnValue = eventTimelineItem
|
||||
timelineItem.uniqueIdReturnValue = UUID().uuidString
|
||||
|
||||
return timelineItem
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user