mirror of
https://github.com/signalapp/Signal-Server
synced 2026-04-21 10:38:04 +01:00
Add a utility method for getting alternate forms of (Benin) phone numbers
This commit is contained in:
committed by
ravi-signal
parent
cdd6f78c73
commit
7201938793
@@ -0,0 +1,42 @@
|
||||
/*
|
||||
* Copyright 2024 Signal Messenger, LLC
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
package org.whispersystems.textsecuregcm.util;
|
||||
|
||||
import com.google.i18n.phonenumbers.PhoneNumberUtil;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.params.ParameterizedTest;
|
||||
import org.junit.jupiter.params.provider.Arguments;
|
||||
import org.junit.jupiter.params.provider.MethodSource;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
|
||||
class UtilTest {
|
||||
|
||||
@ParameterizedTest
|
||||
@MethodSource
|
||||
void getAlternateForms(final String phoneNumber, final List<String> expectedAlternateForms) {
|
||||
assertEquals(expectedAlternateForms, Util.getAlternateForms(phoneNumber));
|
||||
}
|
||||
|
||||
static List<Arguments> getAlternateForms() {
|
||||
final String usE164 = PhoneNumberUtil.getInstance().format(
|
||||
PhoneNumberUtil.getInstance().getExampleNumber("US"), PhoneNumberUtil.PhoneNumberFormat.E164);
|
||||
|
||||
// libphonenumber 8.13.50 and on generate new-format numbers for Benin
|
||||
final String newFormatBeninE164 = PhoneNumberUtil.getInstance()
|
||||
.format(PhoneNumberUtil.getInstance().getExampleNumber("BJ"), PhoneNumberUtil.PhoneNumberFormat.E164);
|
||||
|
||||
final String oldFormatBeninE164 = newFormatBeninE164.replaceFirst("01", "");
|
||||
|
||||
return List.of(
|
||||
Arguments.of(usE164, List.of(usE164)),
|
||||
Arguments.of(newFormatBeninE164, List.of(newFormatBeninE164, oldFormatBeninE164)),
|
||||
Arguments.of(oldFormatBeninE164, List.of(oldFormatBeninE164, newFormatBeninE164))
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user