Skip to content

Commit 40d0127

Browse files
committed
std::net: tests for Ipv6addr::is_unicast_link_local{_strict}()
1 parent 99d9bb6 commit 40d0127

File tree

1 file changed

+49
-20
lines changed

1 file changed

+49
-20
lines changed

src/libstd/net/ip.rs

Lines changed: 49 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2164,16 +2164,17 @@ mod tests {
21642164
let unique_local: u16 = 1 << 2;
21652165
let global: u16 = 1 << 3;
21662166
let unicast_link_local: u16 = 1 << 4;
2167-
let unicast_site_local: u16 = 1 << 5;
2168-
let unicast_global: u16 = 1 << 6;
2169-
let documentation: u16 = 1 << 7;
2170-
let multicast_interface_local: u16 = 1 << 8;
2171-
let multicast_link_local: u16 = 1 << 9;
2172-
let multicast_realm_local: u16 = 1 << 10;
2173-
let multicast_admin_local: u16 = 1 << 11;
2174-
let multicast_site_local: u16 = 1 << 12;
2175-
let multicast_organization_local: u16 = 1 << 13;
2176-
let multicast_global: u16 = 1 << 14;
2167+
let unicast_link_local_strict: u16 = 1 << 5;
2168+
let unicast_site_local: u16 = 1 << 6;
2169+
let unicast_global: u16 = 1 << 7;
2170+
let documentation: u16 = 1 << 8;
2171+
let multicast_interface_local: u16 = 1 << 9;
2172+
let multicast_link_local: u16 = 1 << 10;
2173+
let multicast_realm_local: u16 = 1 << 11;
2174+
let multicast_admin_local: u16 = 1 << 12;
2175+
let multicast_site_local: u16 = 1 << 13;
2176+
let multicast_organization_local: u16 = 1 << 14;
2177+
let multicast_global: u16 = 1 << 15;
21772178
let multicast: u16 = multicast_interface_local
21782179
| multicast_admin_local
21792180
| multicast_global
@@ -2207,6 +2208,11 @@ mod tests {
22072208
} else {
22082209
assert!(!ip!($s).is_unicast_link_local());
22092210
}
2211+
if ($mask & unicast_link_local_strict) == unicast_link_local_strict {
2212+
assert!(ip!($s).is_unicast_link_local_strict());
2213+
} else {
2214+
assert!(!ip!($s).is_unicast_link_local_strict());
2215+
}
22102216
if ($mask & unicast_site_local) == unicast_site_local {
22112217
assert!(ip!($s).is_unicast_site_local());
22122218
} else {
@@ -2265,16 +2271,17 @@ mod tests {
22652271
let unique_local: u16 = 1 << 2;
22662272
let global: u16 = 1 << 3;
22672273
let unicast_link_local: u16 = 1 << 4;
2268-
let unicast_site_local: u16 = 1 << 5;
2269-
let unicast_global: u16 = 1 << 6;
2270-
let documentation: u16 = 1 << 7;
2271-
let multicast_interface_local: u16 = 1 << 8;
2272-
let multicast_link_local: u16 = 1 << 9;
2273-
let multicast_realm_local: u16 = 1 << 10;
2274-
let multicast_admin_local: u16 = 1 << 11;
2275-
let multicast_site_local: u16 = 1 << 12;
2276-
let multicast_organization_local: u16 = 1 << 13;
2277-
let multicast_global: u16 = 1 << 14;
2274+
let unicast_link_local_strict: u16 = 1 << 5;
2275+
let unicast_site_local: u16 = 1 << 6;
2276+
let unicast_global: u16 = 1 << 7;
2277+
let documentation: u16 = 1 << 8;
2278+
let multicast_interface_local: u16 = 1 << 9;
2279+
let multicast_link_local: u16 = 1 << 10;
2280+
let multicast_realm_local: u16 = 1 << 11;
2281+
let multicast_admin_local: u16 = 1 << 12;
2282+
let multicast_site_local: u16 = 1 << 13;
2283+
let multicast_organization_local: u16 = 1 << 14;
2284+
let multicast_global: u16 = 1 << 15;
22782285

22792286
check!("::",
22802287
&[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@@ -2304,10 +2311,32 @@ mod tests {
23042311
&[0xfe, 0x80, 0xff, 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
23052312
unicast_link_local);
23062313

2314+
check!("fe80::",
2315+
&[0xfe, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
2316+
unicast_link_local|unicast_link_local_strict);
2317+
23072318
check!("febf:ffff::",
23082319
&[0xfe, 0xbf, 0xff, 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
23092320
unicast_link_local);
23102321

2322+
check!("febf::",
2323+
&[0xfe, 0xbf, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
2324+
unicast_link_local);
2325+
2326+
check!("febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff",
2327+
&[0xfe, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2328+
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff],
2329+
unicast_link_local);
2330+
2331+
check!("fe80::ffff:ffff:ffff:ffff",
2332+
&[0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2333+
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff],
2334+
unicast_link_local|unicast_link_local_strict);
2335+
2336+
check!("fe80:0:0:1::",
2337+
&[0xfe, 0x80, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
2338+
unicast_link_local);
2339+
23112340
check!("fec0::",
23122341
&[0xfe, 0xc0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
23132342
unicast_site_local|unicast_global|global);

0 commit comments

Comments
 (0)