@@ -1173,12 +1173,46 @@ def test_invalid_bracketed_hosts(self):
1173
1173
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query' )
1174
1174
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query' )
1175
1175
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@]v6a.ip[/Path' )
1176
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]' )
1177
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix' )
1178
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]/' )
1179
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[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?' )
1182
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]' )
1183
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix' )
1184
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]/' )
1185
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix/' )
1186
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]?' )
1187
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix?' )
1188
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a' )
1189
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a' )
1190
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a1' )
1191
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a1' )
1192
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:1a' )
1193
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:1a' )
1194
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:' )
1195
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:/' )
1196
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:?' )
1197
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@prefix.[v6a.ip]' )
1198
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@[v6a.ip].suffix' )
1199
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip' )
1200
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip]' )
1201
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip[' )
1202
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip' )
1203
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[' )
1204
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip' )
1205
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip].suffix' )
1206
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip[suffix' )
1207
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip' )
1208
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[suffix' )
1176
1209
1177
1210
def test_splitting_bracketed_hosts (self ):
1178
- p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]/path?query' )
1211
+ p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]:1234 /path?query' )
1179
1212
self .assertEqual (p1 .hostname , 'v6a.ip' )
1180
1213
self .assertEqual (p1 .username , 'user' )
1181
1214
self .assertEqual (p1 .path , '/path' )
1215
+ self .assertEqual (p1 .port , 1234 )
1182
1216
1183
1217
def test_port_casting_failure_message (self ):
1184
1218
message = "Port could not be cast to integer value as 'oracle'"
0 commit comments