Fix duplicate numbers, remove shortcodes entirely.

This commit is contained in:
Greyson Parrelli
2025-07-03 14:09:54 -04:00
committed by Alex Hart
parent 1ba34bb685
commit 5d0f71e02c
15 changed files with 332 additions and 122 deletions

View File

@@ -41,6 +41,7 @@ class ContactRecordProcessorTest {
fun setup() {
mockkObject(SignalStore)
every { SignalStore.account.isPrimaryDevice } returns true
every { SignalStore.account.e164 } returns "+11234567890"
recipientTable = mockk(relaxed = true)
}

View File

@@ -0,0 +1,62 @@
/*
* Copyright 2025 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.thoughtcrime.securesms.util
import assertk.assertThat
import assertk.assertions.isFalse
import assertk.assertions.isTrue
import io.mockk.every
import io.mockk.mockkObject
import org.junit.Before
import org.junit.Test
import org.thoughtcrime.securesms.keyvalue.SignalStore
class SignalE164UtilTest {
@Before
fun setup() {
mockkObject(SignalStore)
every { SignalStore.account.e164 } returns "+11234567890"
}
@Test
fun `isPotentialNonShortCodeE164 - valid`() {
assertThat(SignalE164Util.isPotentialNonShortCodeE164("+1234567890")).isTrue()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("1234567")).isTrue()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("1234568")).isTrue()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("12345679")).isTrue()
}
@Test
fun `isPotentialNonShortCodeE164 - invalid, no leading characters`() {
assertThat(SignalE164Util.isPotentialNonShortCodeE164("1")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("12")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("123")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("12345")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("123456")).isFalse()
}
@Test
fun `isPotentialNonShortCodeE164 - invalid, leading plus sign`() {
assertThat(SignalE164Util.isPotentialNonShortCodeE164("+123456")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("++123456")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("+++123456")).isFalse()
}
@Test
fun `isPotentialNonShortCodeE164 - invalid, leading zeros`() {
assertThat(SignalE164Util.isPotentialNonShortCodeE164("0123456")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("00123456")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("000123456")).isFalse()
}
@Test
fun `isPotentialNonShortCodeE164 - invalid, mix of leading characters`() {
assertThat(SignalE164Util.isPotentialNonShortCodeE164("+0123456")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("0+0123456")).isFalse()
assertThat(SignalE164Util.isPotentialNonShortCodeE164("+0+123456")).isFalse()
}
}