@@ -57,7 +57,10 @@ internal class PillDisplayHandlerTest {
57
57
const val KNOWN_MATRIX_USER_NAME = " known user"
58
58
const val CUSTOM_DOMAIN_MATRIX_ROOM_URL = " https://customdomain/#/room/$KNOWN_MATRIX_ROOM_ID "
59
59
const val CUSTOM_DOMAIN_MATRIX_USER_URL = " https://customdomain.com/#/user/$KNOWN_MATRIX_USER_ID "
60
+ const val KNOWN_MATRIX_ROOM_ALIAS = " #known-alias:matrix.org"
61
+ const val KNOWN_MATRIX_ROOM_ALIAS_URL = " https://matrix.to/#/$KNOWN_MATRIX_ROOM_ALIAS "
60
62
}
63
+ https: // matrix.to/#/#rich-text-editor:matrix.org
61
64
62
65
@Before
63
66
fun setUp () {
@@ -66,6 +69,7 @@ internal class PillDisplayHandlerTest {
66
69
every { mockGetRoom(UNKNOWN_MATRIX_ROOM_ID ) } returns null
67
70
every { mockGetRoom(KNOWN_MATRIX_ROOM_ID ) } returns createFakeRoom(KNOWN_MATRIX_ROOM_ID , KNOWN_MATRIX_ROOM_NAME , KNOWN_MATRIX_ROOM_AVATAR )
68
71
every { mockGetRoom(ROOM_ID ) } returns createFakeRoom(ROOM_ID , KNOWN_MATRIX_ROOM_NAME , KNOWN_MATRIX_ROOM_AVATAR )
72
+ every { mockGetRoom(KNOWN_MATRIX_ROOM_ALIAS ) } returns createFakeRoomWithAlias(KNOWN_MATRIX_ROOM_ALIAS , KNOWN_MATRIX_ROOM_ID , KNOWN_MATRIX_ROOM_NAME , KNOWN_MATRIX_ROOM_AVATAR )
69
73
}
70
74
71
75
@Test
@@ -175,6 +179,16 @@ internal class PillDisplayHandlerTest {
175
179
assertEquals(MatrixItem .RoomItem (KNOWN_MATRIX_ROOM_ID , KNOWN_MATRIX_ROOM_NAME , KNOWN_MATRIX_ROOM_AVATAR ), matrixItem)
176
180
}
177
181
182
+ @Test
183
+ fun `when resolve known room with alias link, then it returns named custom pill` () {
184
+ val subject = createSubject()
185
+
186
+ val matrixItem = subject.resolveLinkDisplay(" text" , KNOWN_MATRIX_ROOM_ALIAS_URL )
187
+ .getMatrixItem()
188
+
189
+ assertEquals(MatrixItem .RoomAliasItem (KNOWN_MATRIX_ROOM_ALIAS , KNOWN_MATRIX_ROOM_NAME , KNOWN_MATRIX_ROOM_AVATAR ), matrixItem)
190
+ }
191
+
178
192
private fun TextDisplay.getMatrixItem (): MatrixItem ? {
179
193
val customSpan = this as ? TextDisplay .Custom
180
194
assertNotNull(" The URL did not resolve to a custom link display method" , customSpan)
@@ -206,6 +220,16 @@ internal class PillDisplayHandlerTest {
206
220
isEncrypted = false
207
221
)
208
222
223
+ private fun createFakeRoomWithAlias (roomAlias : String , roomId : String , roomName : String , avatarUrl : String ): RoomSummary = RoomSummary (
224
+ roomId = roomId,
225
+ displayName = roomName,
226
+ avatarUrl = avatarUrl,
227
+ encryptionEventTs = null ,
228
+ typingUsers = emptyList(),
229
+ isEncrypted = false ,
230
+ canonicalAlias = roomAlias
231
+ )
232
+
209
233
data class MatrixItemHolderSpan (
210
234
val matrixItem : MatrixItem
211
235
) : ReplacementSpan() {
0 commit comments