@@ -1412,16 +1412,51 @@ def test_invalid_bracketed_hosts(self):
14121412 self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query' )
14131413 self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query' )
14141414 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' )
14151448
14161449 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' )
14181451 self .assertEqual (p1 .hostname , 'v6a.ip' )
14191452 self .assertEqual (p1 .username , 'user' )
14201453 self .assertEqual (p1 .path , '/path' )
1454+ self .assertEqual (p1 .port , 1234 )
14211455 p2 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7%test]/path?query' )
14221456 self .assertEqual (p2 .hostname , '0439:23af:2309::fae7%test' )
14231457 self .assertEqual (p2 .username , 'user' )
14241458 self .assertEqual (p2 .path , '/path' )
1459+ self .assertIs (p2 .port , None )
14251460 p3 = urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7:1234:192.0.2.146%test]/path?query' )
14261461 self .assertEqual (p3 .hostname , '0439:23af:2309::fae7:1234:192.0.2.146%test' )
14271462 self .assertEqual (p3 .username , 'user' )
0 commit comments