mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-25 04:06:14 +00:00
Update username validation to use libsignal.
This commit is contained in:
@@ -3,45 +3,81 @@ package org.thoughtcrime.securesms.util
|
||||
import org.junit.Test
|
||||
import org.thoughtcrime.securesms.assertIs
|
||||
import org.thoughtcrime.securesms.assertIsNull
|
||||
import org.thoughtcrime.securesms.util.UsernameUtil.checkUsername
|
||||
import org.thoughtcrime.securesms.util.UsernameUtil.checkDiscriminator
|
||||
import org.thoughtcrime.securesms.util.UsernameUtil.checkNickname
|
||||
|
||||
class UsernameUtilTest {
|
||||
@Test
|
||||
fun checkUsername_tooShort() {
|
||||
checkUsername(null) assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
checkUsername("") assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
checkUsername("ab") assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
checkNickname(null) assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
checkNickname("") assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
checkNickname("ab") assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkUsername_tooLong() {
|
||||
checkUsername("abcdefghijklmnopqrstuvwxyz1234567") assertIs UsernameUtil.InvalidReason.TOO_LONG
|
||||
checkNickname("abcdefghijklmnopqrstuvwxyz1234567") assertIs UsernameUtil.InvalidReason.TOO_LONG
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkUsername_startsWithNumber() {
|
||||
checkUsername("0abcdefg") assertIs UsernameUtil.InvalidReason.STARTS_WITH_NUMBER
|
||||
checkUsername("9abcdefg") assertIs UsernameUtil.InvalidReason.STARTS_WITH_NUMBER
|
||||
checkUsername("8675309") assertIs UsernameUtil.InvalidReason.STARTS_WITH_NUMBER
|
||||
checkNickname("0abcdefg") assertIs UsernameUtil.InvalidReason.STARTS_WITH_NUMBER
|
||||
checkNickname("9abcdefg") assertIs UsernameUtil.InvalidReason.STARTS_WITH_NUMBER
|
||||
checkNickname("8675309") assertIs UsernameUtil.InvalidReason.STARTS_WITH_NUMBER
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkUsername_invalidCharacters() {
|
||||
checkUsername("\$abcd") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkUsername(" abcd") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkUsername("ab cde") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkUsername("%%%%%") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkUsername("-----") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkUsername("asĸ_me") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkUsername("+18675309") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname("\$abcd") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname(" abcd") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname("ab cde") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname("%%%%%") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname("-----") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname("asĸ_me") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkNickname("+18675309") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkUsername_validUsernames() {
|
||||
checkUsername("abcd").assertIsNull()
|
||||
checkUsername("abcdefghijklmnopqrstuvwxyz").assertIsNull()
|
||||
checkUsername("ABCDEFGHIJKLMNOPQRSTUVWXYZ").assertIsNull()
|
||||
checkUsername("web_head").assertIsNull()
|
||||
checkUsername("Spider_Fan_1991").assertIsNull()
|
||||
checkNickname("abcd").assertIsNull()
|
||||
checkNickname("abcdefghijklmnopqrstuvwxyz").assertIsNull()
|
||||
checkNickname("ABCDEFGHIJKLMNOPQRSTUVWXYZ").assertIsNull()
|
||||
checkNickname("web_head").assertIsNull()
|
||||
checkNickname("Spider_Fan_1991").assertIsNull()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkDiscriminator_valid() {
|
||||
checkDiscriminator(null).assertIsNull()
|
||||
checkDiscriminator("01").assertIsNull()
|
||||
checkDiscriminator("111111111").assertIsNull()
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkDiscriminator_tooShort() {
|
||||
checkDiscriminator("0") assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
checkDiscriminator("") assertIs UsernameUtil.InvalidReason.TOO_SHORT
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkDiscriminator_tooLong() {
|
||||
checkDiscriminator("1111111111") assertIs UsernameUtil.InvalidReason.TOO_LONG
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkDiscriminator_00() {
|
||||
checkDiscriminator("00") assertIs UsernameUtil.InvalidReason.INVALID_NUMBER_00
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkDiscriminator_prefixZero() {
|
||||
checkDiscriminator("001") assertIs UsernameUtil.InvalidReason.INVALID_NUMBER_PREFIX_0
|
||||
checkDiscriminator("0001") assertIs UsernameUtil.InvalidReason.INVALID_NUMBER_PREFIX_0
|
||||
checkDiscriminator("011") assertIs UsernameUtil.InvalidReason.INVALID_NUMBER_PREFIX_0
|
||||
}
|
||||
|
||||
fun checkDiscriminator_invalidChars() {
|
||||
checkDiscriminator("a1") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
checkDiscriminator("1x") assertIs UsernameUtil.InvalidReason.INVALID_CHARACTERS
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user