Browse Source

Add test on MatrixPatterns functions.

pull/3206/head
Benoit Marty 2 months ago
parent
commit
52900076bd
  1. 66
      libraries/matrix/api/src/test/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatternsTest.kt

66
libraries/matrix/api/src/test/kotlin/io/element/android/libraries/matrix/api/core/MatrixPatternsTest.kt

@ -23,6 +23,8 @@ import io.element.android.libraries.matrix.api.permalink.PermalinkParser
import org.junit.Test import org.junit.Test
class MatrixPatternsTest { class MatrixPatternsTest {
private val longLocalPart = "a".repeat(255 - ":server.com".length - 1)
@Test @Test
fun `findPatterns - returns raw user ids`() { fun `findPatterns - returns raw user ids`() {
val text = "A @user:server.com and @user2:server.com" val text = "A @user:server.com and @user2:server.com"
@ -90,6 +92,70 @@ class MatrixPatternsTest {
assertThat(patterns).containsExactly(MatrixPatternResult(MatrixPatternType.ROOM_ALIAS, "#room:server.com", 2, 46)) assertThat(patterns).containsExactly(MatrixPatternResult(MatrixPatternType.ROOM_ALIAS, "#room:server.com", 2, 46))
} }
@Test
fun `test isRoomId`() {
assertThat(MatrixPatterns.isRoomId(null)).isFalse()
assertThat(MatrixPatterns.isRoomId("")).isFalse()
assertThat(MatrixPatterns.isRoomId("not a room id")).isFalse()
assertThat(MatrixPatterns.isRoomId(" !room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomId("!room:server.com ")).isFalse()
assertThat(MatrixPatterns.isRoomId("@room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomId("#room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomId("\$room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomId("!${longLocalPart}a:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomId("!room:server.com")).isTrue()
assertThat(MatrixPatterns.isRoomId("!$longLocalPart:server.com")).isTrue()
}
@Test
fun `test isRoomAlias`() {
assertThat(MatrixPatterns.isRoomAlias(null)).isFalse()
assertThat(MatrixPatterns.isRoomAlias("")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("not a room alias")).isFalse()
assertThat(MatrixPatterns.isRoomAlias(" #room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("#room:server.com ")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("@room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("!room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("\$room:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("#${longLocalPart}a:server.com")).isFalse()
assertThat(MatrixPatterns.isRoomAlias("#room:server.com")).isTrue()
assertThat(MatrixPatterns.isRoomAlias("#$longLocalPart:server.com")).isTrue()
}
@Test
fun `test isEventId`() {
assertThat(MatrixPatterns.isEventId(null)).isFalse()
assertThat(MatrixPatterns.isEventId("")).isFalse()
assertThat(MatrixPatterns.isEventId("not an event id")).isFalse()
assertThat(MatrixPatterns.isEventId(" \$event:server.com")).isFalse()
assertThat(MatrixPatterns.isEventId("\$event:server.com ")).isFalse()
assertThat(MatrixPatterns.isEventId("@event:server.com")).isFalse()
assertThat(MatrixPatterns.isEventId("!event:server.com")).isFalse()
assertThat(MatrixPatterns.isEventId("#event:server.com")).isFalse()
assertThat(MatrixPatterns.isEventId("$${longLocalPart}a:server.com")).isFalse()
assertThat(MatrixPatterns.isEventId("\$event:server.com")).isTrue()
assertThat(MatrixPatterns.isEventId("$$longLocalPart:server.com")).isTrue()
}
@Test
fun `test isUserId`() {
assertThat(MatrixPatterns.isUserId(null)).isFalse()
assertThat(MatrixPatterns.isUserId("")).isFalse()
assertThat(MatrixPatterns.isUserId("not a user id")).isFalse()
assertThat(MatrixPatterns.isUserId(" @user:server.com")).isFalse()
assertThat(MatrixPatterns.isUserId("@user:server.com ")).isFalse()
assertThat(MatrixPatterns.isUserId("!user:server.com")).isFalse()
assertThat(MatrixPatterns.isUserId("#user:server.com")).isFalse()
assertThat(MatrixPatterns.isUserId("\$user:server.com")).isFalse()
assertThat(MatrixPatterns.isUserId("@${longLocalPart}a:server.com")).isFalse()
assertThat(MatrixPatterns.isUserId("@user:server.com")).isTrue()
assertThat(MatrixPatterns.isUserId("@$longLocalPart:server.com")).isTrue()
}
private fun aPermalinkParser(block: (String) -> PermalinkData = { PermalinkData.FallbackLink(Uri.EMPTY) }) = object : PermalinkParser { private fun aPermalinkParser(block: (String) -> PermalinkData = { PermalinkData.FallbackLink(Uri.EMPTY) }) = object : PermalinkParser {
override fun parse(uriString: String): PermalinkData { override fun parse(uriString: String): PermalinkData {
return block(uriString) return block(uriString)

Loading…
Cancel
Save