mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-02-26 20:55:10 +00:00
Fix error display when entering invalid username characters.
Also convert UsernameEditViewModel to kotlin.
This commit is contained in:
@@ -1,48 +0,0 @@
|
||||
package org.thoughtcrime.securesms.util;
|
||||
|
||||
import org.junit.Test;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertFalse;
|
||||
|
||||
public class UsernameUtilTest {
|
||||
|
||||
@Test
|
||||
public void checkUsername_tooShort() {
|
||||
assertEquals(UsernameUtil.InvalidReason.TOO_SHORT, UsernameUtil.checkUsername(null).get());
|
||||
assertEquals(UsernameUtil.InvalidReason.TOO_SHORT, UsernameUtil.checkUsername("").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.TOO_SHORT, UsernameUtil.checkUsername("ab").get());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkUsername_tooLong() {
|
||||
assertEquals(UsernameUtil.InvalidReason.TOO_LONG, UsernameUtil.checkUsername("abcdefghijklmnopqrstuvwxyz1234567").get());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkUsername_startsWithNumber() {
|
||||
assertEquals(UsernameUtil.InvalidReason.STARTS_WITH_NUMBER, UsernameUtil.checkUsername("0abcdefg").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.STARTS_WITH_NUMBER, UsernameUtil.checkUsername("9abcdefg").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.STARTS_WITH_NUMBER, UsernameUtil.checkUsername("8675309").get());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkUsername_invalidCharacters() {
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername("$abcd").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername(" abcd").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername("ab cde").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername("%%%%%").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername("-----").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername("asĸ_me").get());
|
||||
assertEquals(UsernameUtil.InvalidReason.INVALID_CHARACTERS, UsernameUtil.checkUsername("+18675309").get());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void checkUsername_validUsernames() {
|
||||
assertFalse(UsernameUtil.checkUsername("abcd").isPresent());
|
||||
assertFalse(UsernameUtil.checkUsername("abcdefghijklmnopqrstuvwxyz").isPresent());
|
||||
assertFalse(UsernameUtil.checkUsername("ABCDEFGHIJKLMNOPQRSTUVWXYZ").isPresent());
|
||||
assertFalse(UsernameUtil.checkUsername("web_head").isPresent());
|
||||
assertFalse(UsernameUtil.checkUsername("Spider_Fan_1991").isPresent());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
package org.thoughtcrime.securesms.util
|
||||
|
||||
import org.junit.Test
|
||||
import org.thoughtcrime.securesms.assertIs
|
||||
import org.thoughtcrime.securesms.assertIsNotNull
|
||||
import org.thoughtcrime.securesms.assertIsNull
|
||||
import org.thoughtcrime.securesms.util.UsernameUtil.checkUsername
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkUsername_tooLong() {
|
||||
checkUsername("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
|
||||
}
|
||||
|
||||
@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
|
||||
}
|
||||
|
||||
@Test
|
||||
fun checkUsername_validUsernames() {
|
||||
checkUsername("abcd").assertIsNull()
|
||||
checkUsername("abcdefghijklmnopqrstuvwxyz").assertIsNull()
|
||||
checkUsername("ABCDEFGHIJKLMNOPQRSTUVWXYZ").assertIsNull()
|
||||
checkUsername("web_head").assertIsNull()
|
||||
checkUsername("Spider_Fan_1991").assertIsNull()
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user