diff options
| author | Corentin Henry <corentinhenry@gmail.com> | 2019-04-22 15:27:14 +0200 |
|---|---|---|
| committer | Corentin Henry <corentinhenry@gmail.com> | 2019-04-22 17:41:32 +0200 |
| commit | 40d0127a091dbf3eb55ef57de5facc4983ee472d (patch) | |
| tree | 3c479a7392990e6624a174c4b145358b24091b92 /src/libstd/net | |
| parent | 99d9bb640f0ea95ae6a7346c82a61008b2363c16 (diff) | |
| download | rust-40d0127a091dbf3eb55ef57de5facc4983ee472d.tar.gz rust-40d0127a091dbf3eb55ef57de5facc4983ee472d.zip | |
std::net: tests for Ipv6addr::is_unicast_link_local{_strict}()
Diffstat (limited to 'src/libstd/net')
| -rw-r--r-- | src/libstd/net/ip.rs | 69 |
1 files changed, 49 insertions, 20 deletions
diff --git a/src/libstd/net/ip.rs b/src/libstd/net/ip.rs index 6f39575da2c..7ce8974e09f 100644 --- a/src/libstd/net/ip.rs +++ b/src/libstd/net/ip.rs @@ -2164,16 +2164,17 @@ mod tests { let unique_local: u16 = 1 << 2; let global: u16 = 1 << 3; let unicast_link_local: u16 = 1 << 4; - let unicast_site_local: u16 = 1 << 5; - let unicast_global: u16 = 1 << 6; - let documentation: u16 = 1 << 7; - let multicast_interface_local: u16 = 1 << 8; - let multicast_link_local: u16 = 1 << 9; - let multicast_realm_local: u16 = 1 << 10; - let multicast_admin_local: u16 = 1 << 11; - let multicast_site_local: u16 = 1 << 12; - let multicast_organization_local: u16 = 1 << 13; - let multicast_global: u16 = 1 << 14; + let unicast_link_local_strict: u16 = 1 << 5; + let unicast_site_local: u16 = 1 << 6; + let unicast_global: u16 = 1 << 7; + let documentation: u16 = 1 << 8; + let multicast_interface_local: u16 = 1 << 9; + let multicast_link_local: u16 = 1 << 10; + let multicast_realm_local: u16 = 1 << 11; + let multicast_admin_local: u16 = 1 << 12; + let multicast_site_local: u16 = 1 << 13; + let multicast_organization_local: u16 = 1 << 14; + let multicast_global: u16 = 1 << 15; let multicast: u16 = multicast_interface_local | multicast_admin_local | multicast_global @@ -2207,6 +2208,11 @@ mod tests { } else { assert!(!ip!($s).is_unicast_link_local()); } + if ($mask & unicast_link_local_strict) == unicast_link_local_strict { + assert!(ip!($s).is_unicast_link_local_strict()); + } else { + assert!(!ip!($s).is_unicast_link_local_strict()); + } if ($mask & unicast_site_local) == unicast_site_local { assert!(ip!($s).is_unicast_site_local()); } else { @@ -2265,16 +2271,17 @@ mod tests { let unique_local: u16 = 1 << 2; let global: u16 = 1 << 3; let unicast_link_local: u16 = 1 << 4; - let unicast_site_local: u16 = 1 << 5; - let unicast_global: u16 = 1 << 6; - let documentation: u16 = 1 << 7; - let multicast_interface_local: u16 = 1 << 8; - let multicast_link_local: u16 = 1 << 9; - let multicast_realm_local: u16 = 1 << 10; - let multicast_admin_local: u16 = 1 << 11; - let multicast_site_local: u16 = 1 << 12; - let multicast_organization_local: u16 = 1 << 13; - let multicast_global: u16 = 1 << 14; + let unicast_link_local_strict: u16 = 1 << 5; + let unicast_site_local: u16 = 1 << 6; + let unicast_global: u16 = 1 << 7; + let documentation: u16 = 1 << 8; + let multicast_interface_local: u16 = 1 << 9; + let multicast_link_local: u16 = 1 << 10; + let multicast_realm_local: u16 = 1 << 11; + let multicast_admin_local: u16 = 1 << 12; + let multicast_site_local: u16 = 1 << 13; + let multicast_organization_local: u16 = 1 << 14; + let multicast_global: u16 = 1 << 15; check!("::", &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], @@ -2304,10 +2311,32 @@ mod tests { &[0xfe, 0x80, 0xff, 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], unicast_link_local); + check!("fe80::", + &[0xfe, 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + unicast_link_local|unicast_link_local_strict); + check!("febf:ffff::", &[0xfe, 0xbf, 0xff, 0xff, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], unicast_link_local); + check!("febf::", + &[0xfe, 0xbf, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], + unicast_link_local); + + check!("febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff", + &[0xfe, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff], + unicast_link_local); + + check!("fe80::ffff:ffff:ffff:ffff", + &[0xfe, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff], + unicast_link_local|unicast_link_local_strict); + + check!("fe80:0:0:1::", + &[0xfe, 0x80, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0], + unicast_link_local); + check!("fec0::", &[0xfe, 0xc0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], unicast_site_local|unicast_global|global); |
