Make e164 formatter more leinent with + prefix.

This commit is contained in:
Cody Henthorne
2025-04-23 14:24:14 -04:00
parent 09b818b048
commit 501e169210
2 changed files with 10 additions and 2 deletions

View File

@@ -253,12 +253,18 @@ object E164Util {
* a phone number.
*/
fun formatAsE164(input: String): String? {
return formatAsE164WithRegionCode(
val formatted = formatAsE164WithRegionCode(
localNumber = localNumber,
localAreaCode = localAreaCode,
regionCode = localRegionCode,
input = input
)
return if (formatted == null && input.startsWith("+")) {
formatAsE164(input.substring(1))
} else {
formatted
}
}
/**

View File

@@ -98,7 +98,9 @@ class E164UtilTest {
@Test
fun `formatAsE164 - short codes`() {
val formatter: E164Util.Formatter = E164Util.createFormatterForE164("+14152222222")
Assert.assertEquals("40404", formatter.formatAsE164("40404"))
Assert.assertEquals("+40404", formatter.formatAsE164("+40404"))
Assert.assertEquals("7726", formatter.formatAsE164("+7726"))
Assert.assertEquals("69987", formatter.formatAsE164("+69987"))
Assert.assertEquals("40404", formatter.formatAsE164("40404"))
Assert.assertEquals("7726", formatter.formatAsE164("7726"))
Assert.assertEquals("22000", formatter.formatAsE164("22000"))