@@ -1412,16 +1412,51 @@ def test_invalid_bracketed_hosts(self):
1412
1412
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query' )
1413
1413
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query' )
1414
1414
self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@]v6a.ip[/Path' )
1415
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]' )
1416
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix' )
1417
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]/' )
1418
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix/' )
1419
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]?' )
1420
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix?' )
1421
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]' )
1422
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix' )
1423
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]/' )
1424
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix/' )
1425
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]?' )
1426
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix?' )
1427
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a' )
1428
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a' )
1429
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a1' )
1430
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a1' )
1431
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:1a' )
1432
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:1a' )
1433
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:' )
1434
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:/' )
1435
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:?' )
1436
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@prefix.[v6a.ip]' )
1437
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@[v6a.ip].suffix' )
1438
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip' )
1439
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip]' )
1440
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip[' )
1441
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip' )
1442
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[' )
1443
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip' )
1444
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip].suffix' )
1445
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip[suffix' )
1446
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip' )
1447
+ self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[suffix' )
1415
1448
1416
1449
def test_splitting_bracketed_hosts (self ):
1417
- p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]/path?query' )
1450
+ p1 = urllib .parse .urlsplit ('scheme://user@[v6a.ip]:1234 /path?query' )
1418
1451
self .assertEqual (p1 .hostname , 'v6a.ip' )
1419
1452
self .assertEqual (p1 .username , 'user' )
1420
1453
self .assertEqual (p1 .path , '/path' )
1454
+ self .assertEqual (p1 .port , 1234 )
1421
1455
p2 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7%test]/path?query' )
1422
1456
self .assertEqual (p2 .hostname , '0439:23af:2309::fae7%test' )
1423
1457
self .assertEqual (p2 .username , 'user' )
1424
1458
self .assertEqual (p2 .path , '/path' )
1459
+ self .assertIs (p2 .port , None )
1425
1460
p3 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7:1234:192.0.2.146%test]/path?query' )
1426
1461
self .assertEqual (p3 .hostname , '0439:23af:2309::fae7:1234:192.0.2.146%test' )
1427
1462
self .assertEqual (p3 .username , 'user' )
0 commit comments