Benoit Marty
2 weeks ago
committed by
GitHub
10 changed files with 131 additions and 73 deletions
@ -0,0 +1,59 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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 @@
@@ -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