From c5684d9455e1468471e053c012350931e09709a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20Erkan?= Date: Sun, 6 Mar 2022 19:14:56 +0300 Subject: [PATCH 1/2] Add tr_TR landline samples to phone number format --- src/Faker/Provider/tr_TR/PhoneNumber.php | 31 ++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/Faker/Provider/tr_TR/PhoneNumber.php b/src/Faker/Provider/tr_TR/PhoneNumber.php index be35cb56ca..f6187d23fe 100644 --- a/src/Faker/Provider/tr_TR/PhoneNumber.php +++ b/src/Faker/Provider/tr_TR/PhoneNumber.php @@ -4,27 +4,58 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber { + /** + * Mixed landline and mobile phone numbers valid for Turkey + * + * @see https://en.wikipedia.org/wiki/Telephone_numbers_in_Turkey + * + * @var string[] + */ protected static $formats = [ + '0212#######', + '0216#######', + '0222#######', + '0224#######', '050########', '053########', '054########', '055########', + '0 212 ### ## ##', + '0 216 ### ## ##', + '0 222 ### ## ##', + '0 224 ### ## ##', '0 50# ### ## ##', '0 53# ### ## ##', '0 54# ### ## ##', '0 55# ### ## ##', + '0 (212) ### ## ##', + '0 (216) ### ## ##', + '0 (222) ### ## ##', + '0 (224) ### ## ##', '0 (50#) ### ## ##', '0 (53#) ### ## ##', '0 (54#) ### ## ##', '0 (55#) ### ## ##', + '+90212#######', + '+90216#######', + '+90222#######', + '+90224#######', '+9050########', '+9053########', '+9054########', '+9055########', + '+90 212 ### ## ##', + '+90 216 ### ## ##', + '+90 222 ### ## ##', + '+90 224 ### ## ##', '+90 50# ### ## ##', '+90 53# ### ## ##', '+90 54# ### ## ##', '+90 55# ### ## ##', + '+90 (212) ### ## ##', + '+90 (216) ### ## ##', + '+90 (222) ### ## ##', + '+90 (224) ### ## ##', '+90 (50#) ### ## ##', '+90 (53#) ### ## ##', '+90 (54#) ### ## ##', From e7fa95556e5d54cb0dc54d618cabc8d7ae00fc97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?U=C4=9Fur=20Erkan?= Date: Sun, 6 Mar 2022 19:15:22 +0300 Subject: [PATCH 2/2] Add tr_TR e164 phone number format --- src/Faker/Provider/tr_TR/PhoneNumber.php | 122 ++++++++++++++++++ test/Faker/Provider/tr_TR/PhoneNumberTest.php | 8 ++ 2 files changed, 130 insertions(+) diff --git a/src/Faker/Provider/tr_TR/PhoneNumber.php b/src/Faker/Provider/tr_TR/PhoneNumber.php index f6187d23fe..3103c77eb6 100644 --- a/src/Faker/Provider/tr_TR/PhoneNumber.php +++ b/src/Faker/Provider/tr_TR/PhoneNumber.php @@ -61,4 +61,126 @@ class PhoneNumber extends \Faker\Provider\PhoneNumber '+90 (54#) ### ## ##', '+90 (55#) ### ## ##', ]; + + /** + * Mixed landline and mobile phone numbers in E164 format valid for Turkey + * + * @see https://en.wikipedia.org/wiki/Telephone_numbers_in_Turkey + * + * @var string[] + */ + protected static $e164Formats = [ + '+90212#######', + '+90216#######', + '+90222#######', + '+90224#######', + '+90226#######', + '+90228#######', + '+90232#######', + '+90236#######', + '+90242#######', + '+90246#######', + '+90248#######', + '+90252#######', + '+90256#######', + '+90258#######', + '+90262#######', + '+90264#######', + '+90266#######', + '+90272#######', + '+90274#######', + '+90276#######', + '+90282#######', + '+90284#######', + '+90286#######', + '+90288#######', + '+90312#######', + '+90318#######', + '+90322#######', + '+90324#######', + '+90326#######', + '+90328#######', + '+90332#######', + '+90338#######', + '+90342#######', + '+90344#######', + '+90346#######', + '+90348#######', + '+90352#######', + '+90354#######', + '+90356#######', + '+90358#######', + '+90362#######', + '+90364#######', + '+90366#######', + '+90368#######', + '+90370#######', + '+90372#######', + '+90374#######', + '+90376#######', + '+90378#######', + '+90380#######', + '+90382#######', + '+90384#######', + '+90386#######', + '+90388#######', + '+90412#######', + '+90414#######', + '+90416#######', + '+90422#######', + '+90424#######', + '+90426#######', + '+90428#######', + '+90432#######', + '+90434#######', + '+90436#######', + '+90438#######', + '+90442#######', + '+90446#######', + '+90452#######', + '+90454#######', + '+90456#######', + '+90458#######', + '+90462#######', + '+90464#######', + '+90466#######', + '+90472#######', + '+90474#######', + '+90476#######', + '+90478#######', + '+90482#######', + '+90484#######', + '+90486#######', + '+90488#######', + '+90501#######', + '+90502#######', + '+90503#######', + '+90504#######', + '+90505#######', + '+90506#######', + '+90507#######', + '+90530#######', + '+90531#######', + '+90532#######', + '+90533#######', + '+90534#######', + '+90535#######', + '+90536#######', + '+90537#######', + '+90538#######', + '+90539#######', + '+90541#######', + '+90542#######', + '+90543#######', + '+90544#######', + '+90545#######', + '+90546#######', + '+90549#######', + '+90551#######', + '+90552#######', + '+90553#######', + '+90554#######', + '+90555#######', + '+90556#######', + ]; } diff --git a/test/Faker/Provider/tr_TR/PhoneNumberTest.php b/test/Faker/Provider/tr_TR/PhoneNumberTest.php index 33d374c203..b4439cb9d6 100644 --- a/test/Faker/Provider/tr_TR/PhoneNumberTest.php +++ b/test/Faker/Provider/tr_TR/PhoneNumberTest.php @@ -21,6 +21,14 @@ public function testPhoneNumber() } } + public function testE164PhoneNumberFormat() + { + for ($i = 0; $i < 10; ++$i) { + $number = $this->faker->e164PhoneNumber(); + self::assertMatchesRegularExpression('/^\+90\d{10}$/', $number); + } + } + protected function getProviders(): iterable { yield new PhoneNumber($this->faker);