Skip to content

Commit 8d12a6a

Browse files
committed
fix(phonenumber): removed 226 as an area code as reported here: DiUS/java-faker#698. Added test to reflect this and updated documentation.
1 parent 1c2a4ab commit 8d12a6a

File tree

4 files changed

+28
-15
lines changed

4 files changed

+28
-15
lines changed

docs/releases/1.1.0-snapshot.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ contributions to Datafaker.
1313
## Notable changes
1414

1515
* Breaking (minor) change: `Relationships` has been renamed to `Relationship`.
16-
* Fixed Russian translation ([PR #693](https://github.com/DiUS/java-faker/issues/693) by Sergey Nuyanzin)
17-
* Added mountain ranges ([PR #696](https://github.com/DiUS/java-faker/pull/696) by Sergey Nuyanzin)
18-
* Minimised external dependencies. Removed Guava and Apache Commons from production dependencies, and logging from test dependencies.
19-
* New `examplify` method in Faker, which generates a value by example, with the same pattern as the input value. (See the Javadoc for examples). [PR #4](https://github.com/datafaker-net/datafaker/pull/4) by Amit Solankurkar
16+
* Bufix: Fixed Russian translation ([PR #693](https://github.com/DiUS/java-faker/issues/693) by Sergey Nuyanzin)
17+
* Improvement: Added mountain ranges ([PR #696](https://github.com/DiUS/java-faker/pull/696) by Sergey Nuyanzin)
18+
* Improvement: Minimised external dependencies. Removed Guava and Apache Commons from production dependencies, and logging from test dependencies.
19+
* Improvement: New `examplify` method in Faker, which generates a value by example, with the same pattern as the input value. (See the Javadoc for examples). [PR #4](https://github.com/datafaker-net/datafaker/pull/4) by Amit Solankurkar.
20+
* Bugfix: Removed 226 area code as reported here [Issue #698](https://github.com/DiUS/java-faker/issues/698).

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,12 @@
102102
<version>3.12.0</version>
103103
<scope>test</scope>
104104
</dependency>
105+
<dependency>
106+
<groupId>com.googlecode.libphonenumber</groupId>
107+
<artifactId>libphonenumber</artifactId>
108+
<version>8.12.41</version>
109+
<scope>test</scope>
110+
</dependency>
105111
</dependencies>
106112
<distributionManagement>
107113
<snapshotRepository>

src/main/resources/en-US.yml

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41019,29 +41019,19 @@ en-US:
4101941019
'82730': [Weston]
4102041020
phone_number:
4102141021
digit: "#{Number.digit}"
41022-
area_code: ["201", "202", "203", "205", "206", "207", "208", "209", "210", "212", "213", "214", "215", "216", "217", "218", "219", "224", "225", "226", "228", "229", "231", "234", "239", "240", "248", "251", "252", "253", "254", "256", "260", "262", "267", "269", "270", "276", "281", "301", "302", "303", "304", "305", "307", "308", "309", "310", "312", "313", "314", "315", "316", "317", "318", "319", "320", "321", "323", "330", "334", "336", "337", "339", "347", "351", "352", "360", "361", "386", "401", "402", "404", "405", "406", "407", "408", "409", "410", "412", "413", "414", "415", "417", "419", "423", "424", "425", "434", "435", "440", "443", "469", "478", "479", "480", "484", "501", "502", "503", "504", "505", "507", "508", "509", "510", "512", "513", "515", "516", "517", "518", "520", "530", "540", "541", "551", "559", "561", "562", "563", "567", "570", "571", "573", "574", "580", "585", "586", "601", "602", "603", "605", "606", "607", "608", "609", "610", "612", "614", "615", "616", "617", "618", "619", "620", "623", "626", "630", "631", "636", "641", "646", "650", "651", "660", "661", "662", "678", "682", "701", "702", "703", "704", "706", "707", "708", "712", "713", "714", "715", "716", "717", "718", "719", "720", "724", "727", "731", "732", "734", "740", "754", "757", "760", "763", "765", "770", "772", "773", "774", "775", "781", "785", "786", "801", "802", "803", "804", "805", "806", "808", "810", "812", "813", "814", "815", "816", "817", "818", "828", "830", "831", "832", "843", "845", "847", "848", "850", "856", "857", "858", "859", "860", "862", "863", "864", "865", "870", "878", "901", "903", "904", "906", "907", "908", "909", "910", "912", "913", "914", "915", "916", "917", "918", "919", "920", "925", "928", "931", "936", "937", "940", "941", "947", "949", "952", "954", "956", "970", "971", "972", "973", "978", "979", "980", "985", "989"]
41022+
area_code: ["201", "202", "203", "205", "206", "207", "208", "209", "210", "212", "213", "214", "215", "216", "217", "218", "219", "224", "225", "228", "229", "231", "234", "239", "240", "248", "251", "252", "253", "254", "256", "260", "262", "267", "269", "270", "276", "281", "301", "302", "303", "304", "305", "307", "308", "309", "310", "312", "313", "314", "315", "316", "317", "318", "319", "320", "321", "323", "330", "334", "336", "337", "339", "347", "351", "352", "360", "361", "386", "401", "402", "404", "405", "406", "407", "408", "409", "410", "412", "413", "414", "415", "417", "419", "423", "424", "425", "434", "435", "440", "443", "469", "478", "479", "480", "484", "501", "502", "503", "504", "505", "507", "508", "509", "510", "512", "513", "515", "516", "517", "518", "520", "530", "540", "541", "551", "559", "561", "562", "563", "567", "570", "571", "573", "574", "580", "585", "586", "601", "602", "603", "605", "606", "607", "608", "609", "610", "612", "614", "615", "616", "617", "618", "619", "620", "623", "626", "630", "631", "636", "641", "646", "650", "651", "660", "661", "662", "678", "682", "701", "702", "703", "704", "706", "707", "708", "712", "713", "714", "715", "716", "717", "718", "719", "720", "724", "727", "731", "732", "734", "740", "754", "757", "760", "763", "765", "770", "772", "773", "774", "775", "781", "785", "786", "801", "802", "803", "804", "805", "806", "808", "810", "812", "813", "814", "815", "816", "817", "818", "828", "830", "831", "832", "843", "845", "847", "848", "850", "856", "857", "858", "859", "860", "862", "863", "864", "865", "870", "878", "901", "903", "904", "906", "907", "908", "909", "910", "912", "913", "914", "915", "916", "917", "918", "919", "920", "925", "928", "931", "936", "937", "940", "941", "947", "949", "952", "954", "956", "970", "971", "972", "973", "978", "979", "980", "985", "989"]
4102341023
exchange_code: ["201", "202", "203", "205", "206", "207", "208", "209", "210", "212", "213", "214", "215", "216", "217", "218", "219", "224", "225", "227", "228", "229", "231", "234", "239", "240", "248", "251", "252", "253", "254", "256", "260", "262", "267", "269", "270", "276", "281", "283", "301", "302", "303", "304", "305", "307", "308", "309", "310", "312", "313", "314", "315", "316", "317", "318", "319", "320", "321", "323", "330", "331", "334", "336", "337", "339", "347", "351", "352", "360", "361", "386", "401", "402", "404", "405", "406", "407", "408", "409", "410", "412", "413", "414", "415", "417", "419", "423", "424", "425", "434", "435", "440", "443", "445", "464", "469", "470", "475", "478", "479", "480", "484", "501", "502", "503", "504", "505", "507", "508", "509", "510", "512", "513", "515", "516", "517", "518", "520", "530", "540", "541", "551", "557", "559", "561", "562", "563", "564", "567", "570", "571", "573", "574", "580", "585", "586", "601", "602", "603", "605", "606", "607", "608", "609", "610", "612", "614", "615", "616", "617", "618", "619", "620", "623", "626", "630", "631", "636", "641", "646", "650", "651", "660", "661", "662", "667", "678", "682", "701", "702", "703", "704", "706", "707", "708", "712", "713", "714", "715", "716", "717", "718", "719", "720", "724", "727", "731", "732", "734", "737", "740", "754", "757", "760", "763", "765", "770", "772", "773", "774", "775", "781", "785", "786", "801", "802", "803", "804", "805", "806", "808", "810", "812", "813", "814", "815", "816", "817", "818", "828", "830", "831", "832", "835", "843", "845", "847", "848", "850", "856", "857", "858", "859", "860", "862", "863", "864", "865", "870", "872", "878", "901", "903", "904", "906", "907", "908", "909", "910", "912", "913", "914", "915", "916", "917", "918", "919", "920", "925", "928", "931", "936", "937", "940", "941", "947", "949", "952", "954", "956", "959", "970", "971", "972", "973", "975", "978", "979", "980", "984", "985", "989"]
4102441024
country_code: ['+1']
4102541025
formats:
4102641026
- "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}"
4102741027
- "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}"
4102841028
- "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}"
41029-
- "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number}"
4103041029
- "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}"
41031-
- "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}"
41032-
- "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number}"
4103341030
- "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number}"
4103441031
- "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
4103541032
- "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
4103641033
- "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41037-
- "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41038-
- "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41039-
- "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41040-
- "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41041-
- "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
4104241034
- "#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41043-
- "(#{PhoneNumber.area_code}) #{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
41044-
- "1-#{PhoneNumber.area_code}-#{PhoneNumber.exchange_code}-#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
4104541035
- "#{PhoneNumber.area_code}.#{PhoneNumber.exchange_code}.#{PhoneNumber.subscriber_number} x#{PhoneNumber.extension}"
4104641036

4104741037
id_number:

src/test/java/net/datafaker/PhoneNumberTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
11
package net.datafaker;
22

3+
import com.google.i18n.phonenumbers.NumberParseException;
4+
import com.google.i18n.phonenumbers.PhoneNumberUtil;
5+
import com.google.i18n.phonenumbers.Phonenumber;
6+
import net.datafaker.repeating.Repeat;
37
import org.junit.Test;
48

59
import java.util.Locale;
610

711
import static net.datafaker.matchers.MatchesRegularExpression.matchesRegularExpression;
812
import static org.hamcrest.MatcherAssert.assertThat;
13+
import static org.junit.Assert.assertTrue;
914

1015
public class PhoneNumberTest extends AbstractFakerTest {
1116

@@ -15,6 +20,17 @@ public void testCellPhone_enUS() {
1520
assertThat(f.phoneNumber().cellPhone(), matchesRegularExpression("\\(?\\d+\\)?([- .]\\d+){1,3}"));
1621
}
1722

23+
final Faker usfaker = new Faker(new Locale("en_US"));
24+
25+
@Test
26+
@Repeat(times = 1000)
27+
public void testAllCellPhone_enUS() throws NumberParseException {
28+
String phoneNumber = usfaker.phoneNumber().phoneNumber();
29+
PhoneNumberUtil util = PhoneNumberUtil.getInstance();
30+
Phonenumber.PhoneNumber proto = util.parse(phoneNumber, "US");
31+
assertTrue(util.isValidNumberForRegion(proto, "US"));
32+
}
33+
1834
@Test
1935
public void testPhone_esMx() {
2036
final Faker f = new Faker(new Locale("es_MX"));

0 commit comments

Comments
 (0)