Benoit Marty
2 weeks ago
7 changed files with 122 additions and 64 deletions
@ -0,0 +1,59 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2024 New Vector Ltd. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only |
||||||
|
* Please see LICENSE in the repository root for full details. |
||||||
|
*/ |
||||||
|
|
||||||
|
package io.element.android.libraries.matrix.impl.fixtures.factories |
||||||
|
|
||||||
|
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventShieldsProvider |
||||||
|
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeRustEventTimelineItemDebugInfoProvider |
||||||
|
import io.element.android.libraries.matrix.test.AN_EVENT_ID |
||||||
|
import io.element.android.libraries.matrix.test.A_USER_ID |
||||||
|
import org.matrix.rustcomponents.sdk.EventOrTransactionId |
||||||
|
import org.matrix.rustcomponents.sdk.EventSendState |
||||||
|
import org.matrix.rustcomponents.sdk.EventTimelineItem |
||||||
|
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo |
||||||
|
import org.matrix.rustcomponents.sdk.ProfileDetails |
||||||
|
import org.matrix.rustcomponents.sdk.Reaction |
||||||
|
import org.matrix.rustcomponents.sdk.Receipt |
||||||
|
import org.matrix.rustcomponents.sdk.ShieldState |
||||||
|
import org.matrix.rustcomponents.sdk.TimelineItemContent |
||||||
|
import uniffi.matrix_sdk_ui.EventItemOrigin |
||||||
|
|
||||||
|
fun aRustEventTimelineItem( |
||||||
|
isLocal: Boolean = false, |
||||||
|
isRemote: Boolean = true, |
||||||
|
eventOrTransactionId: EventOrTransactionId = EventOrTransactionId.EventId(AN_EVENT_ID.value), |
||||||
|
sender: String = A_USER_ID.value, |
||||||
|
senderProfile: ProfileDetails = ProfileDetails.Unavailable, |
||||||
|
isOwn: Boolean = true, |
||||||
|
isEditable: Boolean = true, |
||||||
|
content: TimelineItemContent = aRustTimelineItemMessageContent(), |
||||||
|
timestamp: ULong = 0uL, |
||||||
|
reactions: List<Reaction> = emptyList(), |
||||||
|
debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(), |
||||||
|
localSendState: EventSendState? = null, |
||||||
|
readReceipts: Map<String, Receipt> = emptyMap(), |
||||||
|
origin: EventItemOrigin? = EventItemOrigin.SYNC, |
||||||
|
canBeRepliedTo: Boolean = true, |
||||||
|
shieldsState: ShieldState? = null, |
||||||
|
) = EventTimelineItem( |
||||||
|
isLocal = isLocal, |
||||||
|
isRemote = isRemote, |
||||||
|
eventOrTransactionId = eventOrTransactionId, |
||||||
|
sender = sender, |
||||||
|
senderProfile = senderProfile, |
||||||
|
timestamp = timestamp, |
||||||
|
isOwn = isOwn, |
||||||
|
isEditable = isEditable, |
||||||
|
canBeRepliedTo = canBeRepliedTo, |
||||||
|
content = content, |
||||||
|
debugInfoProvider = FakeRustEventTimelineItemDebugInfoProvider(debugInfo), |
||||||
|
shieldsProvider = FakeRustEventShieldsProvider(shieldsState), |
||||||
|
localSendState = localSendState, |
||||||
|
reactions = reactions, |
||||||
|
readReceipts = readReceipts, |
||||||
|
origin = origin, |
||||||
|
) |
@ -0,0 +1,24 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2024 New Vector Ltd. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only |
||||||
|
* Please see LICENSE in the repository root for full details. |
||||||
|
*/ |
||||||
|
|
||||||
|
package io.element.android.libraries.matrix.impl.fixtures.factories |
||||||
|
|
||||||
|
import org.matrix.rustcomponents.sdk.MessageContent |
||||||
|
import org.matrix.rustcomponents.sdk.MessageType |
||||||
|
import org.matrix.rustcomponents.sdk.TextMessageContent |
||||||
|
import org.matrix.rustcomponents.sdk.TimelineItemContent |
||||||
|
|
||||||
|
fun aRustTimelineItemMessageContent(body: String = "Hello") = TimelineItemContent.Message( |
||||||
|
content = MessageContent( |
||||||
|
msgType = MessageType.Text(content = TextMessageContent(body = body, formatted = null)), |
||||||
|
body = body, |
||||||
|
inReplyTo = null, |
||||||
|
threadRoot = null, |
||||||
|
isEdited = false, |
||||||
|
mentions = null, |
||||||
|
) |
||||||
|
) |
@ -0,0 +1,18 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2024 New Vector Ltd. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only |
||||||
|
* Please see LICENSE in the repository root for full details. |
||||||
|
*/ |
||||||
|
|
||||||
|
package io.element.android.libraries.matrix.impl.fixtures.fakes |
||||||
|
|
||||||
|
import org.matrix.rustcomponents.sdk.EventShieldsProvider |
||||||
|
import org.matrix.rustcomponents.sdk.NoPointer |
||||||
|
import org.matrix.rustcomponents.sdk.ShieldState |
||||||
|
|
||||||
|
class FakeRustEventShieldsProvider( |
||||||
|
private val shieldsState: ShieldState? = null, |
||||||
|
) : EventShieldsProvider(NoPointer) { |
||||||
|
override fun getShields(strict: Boolean): ShieldState? = shieldsState |
||||||
|
} |
@ -1,44 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2024 New Vector Ltd. |
|
||||||
* |
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only |
|
||||||
* Please see LICENSE in the repository root for full details. |
|
||||||
*/ |
|
||||||
|
|
||||||
package io.element.android.libraries.matrix.impl.fixtures.fakes |
|
||||||
|
|
||||||
import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo |
|
||||||
import io.element.android.libraries.matrix.test.AN_EVENT_ID |
|
||||||
import io.element.android.libraries.matrix.test.A_USER_ID |
|
||||||
import org.matrix.rustcomponents.sdk.EventSendState |
|
||||||
import org.matrix.rustcomponents.sdk.EventTimelineItem |
|
||||||
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo |
|
||||||
import org.matrix.rustcomponents.sdk.NoPointer |
|
||||||
import org.matrix.rustcomponents.sdk.ProfileDetails |
|
||||||
import org.matrix.rustcomponents.sdk.Reaction |
|
||||||
import org.matrix.rustcomponents.sdk.Receipt |
|
||||||
import org.matrix.rustcomponents.sdk.ShieldState |
|
||||||
import org.matrix.rustcomponents.sdk.TimelineItemContent |
|
||||||
import uniffi.matrix_sdk_ui.EventItemOrigin |
|
||||||
|
|
||||||
class FakeRustEventTimelineItem( |
|
||||||
private val origin: EventItemOrigin? = null, |
|
||||||
) : EventTimelineItem(NoPointer) { |
|
||||||
override fun origin(): EventItemOrigin? = origin |
|
||||||
override fun eventId(): String = AN_EVENT_ID.value |
|
||||||
override fun transactionId(): String? = null |
|
||||||
override fun isEditable(): Boolean = false |
|
||||||
override fun canBeRepliedTo(): Boolean = false |
|
||||||
override fun isLocal(): Boolean = false |
|
||||||
override fun isOwn(): Boolean = false |
|
||||||
override fun isRemote(): Boolean = false |
|
||||||
override fun localSendState(): EventSendState? = null |
|
||||||
override fun reactions(): List<Reaction> = emptyList() |
|
||||||
override fun readReceipts(): Map<String, Receipt> = emptyMap() |
|
||||||
override fun sender(): String = A_USER_ID.value |
|
||||||
override fun senderProfile(): ProfileDetails = ProfileDetails.Unavailable |
|
||||||
override fun timestamp(): ULong = 0u |
|
||||||
override fun content(): TimelineItemContent = FakeRustTimelineItemContent() |
|
||||||
override fun debugInfo(): EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo() |
|
||||||
override fun getShield(strict: Boolean): ShieldState? = null |
|
||||||
} |
|
@ -0,0 +1,19 @@ |
|||||||
|
/* |
||||||
|
* Copyright 2024 New Vector Ltd. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: AGPL-3.0-only |
||||||
|
* Please see LICENSE in the repository root for full details. |
||||||
|
*/ |
||||||
|
|
||||||
|
package io.element.android.libraries.matrix.impl.fixtures.fakes |
||||||
|
|
||||||
|
import io.element.android.libraries.matrix.impl.fixtures.factories.anEventTimelineItemDebugInfo |
||||||
|
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfo |
||||||
|
import org.matrix.rustcomponents.sdk.EventTimelineItemDebugInfoProvider |
||||||
|
import org.matrix.rustcomponents.sdk.NoPointer |
||||||
|
|
||||||
|
class FakeRustEventTimelineItemDebugInfoProvider( |
||||||
|
private val debugInfo: EventTimelineItemDebugInfo = anEventTimelineItemDebugInfo(), |
||||||
|
) : EventTimelineItemDebugInfoProvider(NoPointer) { |
||||||
|
override fun get(): EventTimelineItemDebugInfo = debugInfo |
||||||
|
} |
@ -1,18 +0,0 @@ |
|||||||
/* |
|
||||||
* Copyright 2024 New Vector Ltd. |
|
||||||
* |
|
||||||
* SPDX-License-Identifier: AGPL-3.0-only |
|
||||||
* Please see LICENSE in the repository root for full details. |
|
||||||
*/ |
|
||||||
|
|
||||||
package io.element.android.libraries.matrix.impl.fixtures.fakes |
|
||||||
|
|
||||||
import org.matrix.rustcomponents.sdk.Message |
|
||||||
import org.matrix.rustcomponents.sdk.NoPointer |
|
||||||
import org.matrix.rustcomponents.sdk.TimelineItemContent |
|
||||||
import org.matrix.rustcomponents.sdk.TimelineItemContentKind |
|
||||||
|
|
||||||
class FakeRustTimelineItemContent : TimelineItemContent(NoPointer) { |
|
||||||
override fun asMessage(): Message? = null |
|
||||||
override fun kind(): TimelineItemContentKind = TimelineItemContentKind.Message |
|
||||||
} |
|
Loading…
Reference in new issue