diff --git a/src/main/java/net/datafaker/providers/base/PhoneNumber.java b/src/main/java/net/datafaker/providers/base/PhoneNumber.java index 1ccd0a8f6..505f1f0b6 100644 --- a/src/main/java/net/datafaker/providers/base/PhoneNumber.java +++ b/src/main/java/net/datafaker/providers/base/PhoneNumber.java @@ -95,7 +95,7 @@ private static String detectCountryByLanguage(String language) { case "hy" -> "AM"; // Armenia case "uk" -> "UA"; // Ukraine case "ja" -> "JP"; // Japan - case "fa" -> "FR"; // France + case "fa" -> "IR"; // Iran case "ka" -> "GE"; // Georgia case "sq" -> "AL"; // Albania case "cs" -> "CZ"; // Czech Republic diff --git a/src/test/java/net/datafaker/providers/base/PhoneNumberValidityFinderTest.java b/src/test/java/net/datafaker/providers/base/PhoneNumberValidityFinderTest.java index 2024a7437..b33ab0ff4 100644 --- a/src/test/java/net/datafaker/providers/base/PhoneNumberValidityFinderTest.java +++ b/src/test/java/net/datafaker/providers/base/PhoneNumberValidityFinderTest.java @@ -46,6 +46,13 @@ void testValidNumber() throws NumberParseException { assertThat(util.isValidNumber(parsedNumber)).isTrue(); } + @Test + void testLanguageOnlyPersianLocaleUsesIran() { + BaseFaker localFaker = new BaseFaker(new Locale("fa")); + + assertThat(localFaker.phoneNumber().countryCodeIso2()).isEqualTo("IR"); + } + @ParameterizedTest @MethodSource("allSupportedLocales") void testAllPhoneNumbers(Locale supportedLocale) throws NumberParseException {