@@ -1149,16 +1149,51 @@ def test_invalid_bracketed_hosts(self):
11491149 self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query' )
11501150 self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query' )
11511151 self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@]v6a.ip[/Path' )
1152+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]' )
1153+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix' )
1154+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]/' )
1155+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix/' )
1156+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]?' )
1157+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix?' )
1158+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]' )
1159+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix' )
1160+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]/' )
1161+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix/' )
1162+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]?' )
1163+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix?' )
1164+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a' )
1165+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a' )
1166+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a1' )
1167+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a1' )
1168+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:1a' )
1169+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:1a' )
1170+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:' )
1171+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:/' )
1172+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:?' )
1173+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@prefix.[v6a.ip]' )
1174+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@[v6a.ip].suffix' )
1175+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip' )
1176+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip]' )
1177+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip[' )
1178+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip' )
1179+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[' )
1180+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip' )
1181+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip].suffix' )
1182+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip[suffix' )
1183+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip' )
1184+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[suffix' )
11521185
11531186 def test_splitting_bracketed_hosts (self ):
1154- p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]/path?query' )
1187+ p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]:1234 /path?query' )
11551188 self .assertEqual (p1 .hostname , 'v6a.ip' )
11561189 self .assertEqual (p1 .username , 'user' )
11571190 self .assertEqual (p1 .path , '/path' )
1191+ self .assertEqual (p1 .port , 1234 )
11581192 p2 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7%test]/path?query' )
11591193 self .assertEqual (p2 .hostname , '0439:23af:2309::fae7%test' )
11601194 self .assertEqual (p2 .username , 'user' )
11611195 self .assertEqual (p2 .path , '/path' )
1196+ self .assertIs (p2 .port , None )
11621197 p3 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7:1234:192.0.2.146%test]/path?query' )
11631198 self .assertEqual (p3 .hostname , '0439:23af:2309::fae7:1234:192.0.2.146%test' )
11641199 self .assertEqual (p3 .username , 'user' )
0 commit comments