@@ -1224,16 +1224,51 @@ def test_invalid_bracketed_hosts(self):
12241224        self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af::2309::fae7:1234]/Path?Query' )
12251225        self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@[0439:23af:2309::fae7:1234:2342:438e:192.0.2.146]/Path?Query' )
12261226        self .assertRaises (ValueError , urllib .parse .urlsplit , 'Scheme://user@]v6a.ip[/Path' )
1227+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]' )
1228+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix' )
1229+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]/' )
1230+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix/' )
1231+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip]?' )
1232+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip].suffix?' )
1233+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]' )
1234+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix' )
1235+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]/' )
1236+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix/' )
1237+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]?' )
1238+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix?' )
1239+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a' )
1240+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a' )
1241+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:a1' )
1242+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:a1' )
1243+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:1a' )
1244+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:1a' )
1245+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:' )
1246+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[::1].suffix:/' )
1247+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[::1]:?' )
1248+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@prefix.[v6a.ip]' )
1249+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://user@[v6a.ip].suffix' )
1250+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://[v6a.ip' )
1251+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip]' )
1252+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip[' )
1253+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://]v6a.ip' )
1254+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[' )
1255+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix.[v6a.ip' )
1256+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip].suffix' )
1257+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip[suffix' )
1258+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://prefix]v6a.ip' )
1259+         self .assertRaises (ValueError , urllib .parse .urlsplit , 'scheme://v6a.ip[suffix' )
12271260
12281261    def  test_splitting_bracketed_hosts (self ):
1229-         p1  =  urllib .parse .urlsplit ('scheme://user@[v6a.ip]/path?query' )
1262+         p1  =  urllib .parse .urlsplit ('scheme://user@[v6a.ip]:1234 /path?query' )
12301263        self .assertEqual (p1 .hostname , 'v6a.ip' )
12311264        self .assertEqual (p1 .username , 'user' )
12321265        self .assertEqual (p1 .path , '/path' )
1266+         self .assertEqual (p1 .port , 1234 )
12331267        p2  =  urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7%test]/path?query' )
12341268        self .assertEqual (p2 .hostname , '0439:23af:2309::fae7%test' )
12351269        self .assertEqual (p2 .username , 'user' )
12361270        self .assertEqual (p2 .path , '/path' )
1271+         self .assertIs (p2 .port , None )
12371272        p3  =  urllib .parse .urlsplit ('scheme://user@[0439:23af:2309::fae7:1234:192.0.2.146%test]/path?query' )
12381273        self .assertEqual (p3 .hostname , '0439:23af:2309::fae7:1234:192.0.2.146%test' )
12391274        self .assertEqual (p3 .username , 'user' )
0 commit comments