@@ -592,4 +592,51 @@ public function testJsonSerializable(): void
592592
593593 self ::assertSame ('{"phoneNumber":"+33123000000"} ' , json_encode ($ data ));
594594 }
595+
596+ /**
597+ * @dataProvider providerGetDescription
598+ */
599+ public function testGetDescription (string $ phoneNumber , string $ locale , ?string $ userRegion , ?string $ expected ) : void
600+ {
601+ self ::assertSame ($ expected , PhoneNumber::parse ($ phoneNumber )->getDescription ($ locale , $ userRegion ));
602+ }
603+
604+ public function providerGetDescription () : array
605+ {
606+ return [
607+ ['+16509036313 ' , 'EN ' , null , 'Mountain View, CA ' ],
608+ ['+16509036313 ' , 'EN ' , 'US ' , 'Mountain View, CA ' ],
609+ ['+16509036313 ' , 'EN ' , 'GB ' , 'United States ' ],
610+ ['+16509036313 ' , 'EN ' , 'FR ' , 'United States ' ],
611+ ['+16509036313 ' , 'EN ' , 'XX ' , 'United States ' ],
612+ ['+16509036313 ' , 'FR ' , null , 'Mountain View, CA ' ],
613+ ['+16509036313 ' , 'FR ' , 'US ' , 'Mountain View, CA ' ],
614+ ['+16509036313 ' , 'FR ' , 'GB ' , 'États-Unis ' ],
615+ ['+16509036313 ' , 'FR ' , 'FR ' , 'États-Unis ' ],
616+ ['+16509036313 ' , 'FR ' , 'XX ' , 'États-Unis ' ],
617+
618+ ['+33381251234 ' , 'FR ' , null , 'Besançon ' ],
619+ ['+33381251234 ' , 'FR ' , 'FR ' , 'Besançon ' ],
620+ ['+33381251234 ' , 'FR ' , 'US ' , 'France ' ],
621+ ['+33381251234 ' , 'FR ' , 'XX ' , 'France ' ],
622+ ['+33381251234 ' , 'EN ' , null , 'Besançon ' ],
623+ ['+33381251234 ' , 'EN ' , 'FR ' , 'Besançon ' ],
624+ ['+33381251234 ' , 'EN ' , 'US ' , 'France ' ],
625+ ['+33381251234 ' , 'EN ' , 'XX ' , 'France ' ],
626+
627+ ['+33328201234 ' , 'FR ' , null , 'Dunkerque ' ],
628+ ['+33328201234 ' , 'FR ' , 'FR ' , 'Dunkerque ' ],
629+ ['+33328201234 ' , 'FR ' , 'US ' , 'France ' ],
630+ ['+33328201234 ' , 'FR ' , 'XX ' , 'France ' ],
631+ ['+33328201234 ' , 'GB ' , null , 'Dunkirk ' ],
632+ ['+33328201234 ' , 'XX ' , null , 'Dunkirk ' ],
633+
634+ ['+41229097000 ' , 'FR ' , null , 'Genève ' ],
635+ ['+41229097000 ' , 'FR ' , 'CH ' , 'Genève ' ],
636+ ['+41229097000 ' , 'FR ' , 'US ' , 'Suisse ' ],
637+ ['+41229097000 ' , 'XX ' , null , 'Geneva ' ],
638+
639+ ['+37328000000 ' , 'XX ' , null , null ],
640+ ];
641+ }
595642}
0 commit comments