@@ -543,10 +543,34 @@ void main() {
543
543
'FormBuilderValidators.phoneNumber' ,
544
544
(WidgetTester tester) => testValidations (tester, (context) {
545
545
final validator = FormBuilderValidators .phoneNumber ();
546
- // Pass
547
- expect (validator ('+1 800 555 5555' ), isNull);
548
- // Fail
549
- expect (validator ('123-abc-defg' ), isNotNull);
546
+
547
+ // Valid phone numbers from various countries
548
+ expect (validator ('+1 800 555 5555' ), isNull); // USA
549
+ expect (validator ('+44 20 7946 0958' ), isNull); // UK
550
+ expect (validator ('+61 2 1234 5678' ), isNull); // Australia
551
+ expect (validator ('+49 30 123456' ), isNull); // Germany
552
+ expect (validator ('+33 1 23 45 67 89' ), isNull); // France
553
+ expect (validator ('+81 3-1234-5678' ), isNull); // Japan
554
+ expect (validator ('+91 98765 43210' ), isNull); // India
555
+ expect (validator ('+86 10 1234 5678' ), isNull); // China
556
+ expect (validator ('+55 11 91234-5678' ), isNull); // Brazil
557
+ expect (validator ('+27 21 123 4567' ), isNull); // South Africa
558
+
559
+ // Invalid phone numbers
560
+ expect (validator ('123-abc-defg' ), isNotNull); // Contains letters
561
+ expect (validator ('+1-800-555-5555-0000' ), isNotNull); // Too many digits
562
+ expect (validator ('+1 800 555 555' ), isNotNull); // Too few digits
563
+ expect (validator ('++1 800 555 5555' ), isNotNull); // Invalid prefix
564
+ expect (validator ('+1 (800) 555-5555' ), isNotNull); // Invalid format
565
+ expect (validator ('+44 20 7946 0958 ext 123' ), isNotNull); // Extension included
566
+ expect (validator ('+11234567890' ), isNotNull); // Missing spaces or dashes
567
+ expect (validator ('1-800-555-5555' ), isNotNull); // Missing country code
568
+ expect (validator ('+1 800 5555 5555' ), isNotNull); // Incorrect digit grouping
569
+ expect (validator ('+44 2079460958' ), isNotNull); // No spaces
570
+
571
+ // Edge cases
572
+ expect (validator ('' ), isNotNull); // Empty string
573
+ expect (validator (null ), isNotNull); // Null value
550
574
}),
551
575
);
552
576
0 commit comments