@@ -1146,16 +1146,51 @@ def test_invalid_bracketed_hosts(self):
1146
1146
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query' )
1147
1147
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query' )
1148
1148
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@]v6a.ip[/Path' )
1149
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]' )
1150
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix' )
1151
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]/' )
1152
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix/' )
1153
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]?' )
1154
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix?' )
1155
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]' )
1156
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix' )
1157
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]/' )
1158
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix/' )
1159
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]?' )
1160
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix?' )
1161
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a' )
1162
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a' )
1163
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a1' )
1164
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a1' )
1165
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:1a' )
1166
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:1a' )
1167
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:' )
1168
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:/' )
1169
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:?' )
1170
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@prefix.[v6a.ip]' )
1171
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@[v6a.ip].suffix' )
1172
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip' )
1173
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip]' )
1174
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip[' )
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://prefix.[v6a.ip' )
1178
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip].suffix' )
1179
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip[suffix' )
1180
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip' )
1181
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[suffix' )
1149
1182
1150
1183
def test_splitting_bracketed_hosts (self ):
1151
- p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]/path?query' )
1184
+ p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]:1234 /path?query' )
1152
1185
self .assertEqual (p1 .hostname , 'v6a.ip' )
1153
1186
self .assertEqual (p1 .username , 'user' )
1154
1187
self .assertEqual (p1 .path , '/path' )
1188
+ self .assertEqual (p1 .port , 1234 )
1155
1189
p2 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7%test]/path?query' )
1156
1190
self .assertEqual (p2 .hostname , '0439:23af:2309::fae7%test' )
1157
1191
self .assertEqual (p2 .username , 'user' )
1158
1192
self .assertEqual (p2 .path , '/path' )
1193
+ self .assertIs (p2 .port , None )
1159
1194
p3 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7:1234:192.0.2.146%test]/path?query' )
1160
1195
self .assertEqual (p3 .hostname , '0439:23af:2309::fae7:1234:192.0.2.146%test' )
1161
1196
self .assertEqual (p3 .username , 'user' )
0 commit comments