File tree Expand file tree Collapse file tree 1 file changed +55
-0
lines changed
packages/regex/src/__tests__ Expand file tree Collapse file tree 1 file changed +55
-0
lines changed Original file line number Diff line number Diff line change @@ -44,6 +44,7 @@ import {
4444 phone ,
4545 reverseDNS ,
4646 s3BucketName ,
47+ sgPortRange ,
4748 sixDigitsCode ,
4849 spaces ,
4950 uppercaseBasicDomain ,
@@ -1062,4 +1063,58 @@ describe('@regex', () => {
10621063 expect ( absolutePath . test ( string ) ) . toBe ( expected )
10631064 } )
10641065 } )
1066+
1067+ describe ( 'sgPortRange' , ( ) => {
1068+ test . each ( [
1069+ // Valid single ports
1070+ [ '1' , true ] ,
1071+ [ '80' , true ] ,
1072+ [ '443' , true ] ,
1073+ [ '8080' , true ] ,
1074+ [ '65535' , true ] ,
1075+
1076+ // Valid port ranges
1077+ [ '1-80' , true ] ,
1078+ [ '80-443' , true ] ,
1079+ [ '1000-2000' , true ] ,
1080+ [ '1-65535' , true ] ,
1081+ [ '8080-8090' , true ] ,
1082+
1083+ // Edge cases for valid ports
1084+ [ '1-1' , true ] ,
1085+ [ '65535-65535' , true ] ,
1086+
1087+ // Invalid: Port 0 not allowed
1088+ [ '0' , true ] ,
1089+ [ '0-80' , true ] ,
1090+ [ '80-0' , true ] ,
1091+
1092+ // Invalid: Ports above 65535
1093+ [ '65536' , false ] ,
1094+ [ '70000' , false ] ,
1095+ [ '1-70000' , false ] ,
1096+ [ '65536-65537' , false ] ,
1097+
1098+ // Invalid formats
1099+ [ '' , false ] ,
1100+ [ 'a' , false ] ,
1101+ [ '1a' , false ] ,
1102+ [ 'a1' , false ] ,
1103+ [ '1,2' , false ] ,
1104+ [ '1:2' , false ] ,
1105+ [ '1 - 2' , false ] ,
1106+ [ '1~2' , false ] ,
1107+ [ '1-2-3' , false ] ,
1108+ [ '1-' , false ] ,
1109+ [ '-1' , false ] ,
1110+ [ '-' , false ] ,
1111+ [ '1--2' , false ] ,
1112+
1113+ // Edge cases
1114+ [ '65534-65535' , true ] ,
1115+ [ '65535-65535' , true ] ,
1116+ ] ) ( 'should match regex %s to be %s' , ( string , expected ) => {
1117+ expect ( sgPortRange . test ( string ) ) . toBe ( expected )
1118+ } )
1119+ } )
10651120} )
You can’t perform that action at this time.
0 commit comments