Skip to content

Commit 02cebb5

Browse files
faernThomasdezeeuw
authored andcommitted
Add tests for SockAddr conversion
1 parent 926c6ed commit 02cebb5

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

src/sockaddr.rs

+26
Original file line numberDiff line numberDiff line change
@@ -201,3 +201,29 @@ impl fmt::Debug for SockAddr {
201201
.finish()
202202
}
203203
}
204+
205+
#[cfg(test)]
206+
mod tests {
207+
use super::*;
208+
use std::net::{Ipv4Addr, Ipv6Addr};
209+
210+
#[test]
211+
fn conversion_v4() {
212+
let addr = SocketAddrV4::new(Ipv4Addr::new(1, 2, 3, 4), 9876);
213+
let sockaddr = SockAddr::from(addr);
214+
assert_eq!(sockaddr.family(), AF_INET as sa_family_t);
215+
assert!(sockaddr.as_inet6().is_none());
216+
assert_eq!(sockaddr.as_inet(), Some(addr));
217+
assert_eq!(sockaddr.as_std(), Some(SocketAddr::V4(addr)));
218+
}
219+
220+
#[test]
221+
fn conversion_v6() {
222+
let addr = SocketAddrV6::new(Ipv6Addr::new(1, 2, 3, 4, 5, 6, 7, 8), 9876, 11, 12);
223+
let sockaddr = SockAddr::from(addr);
224+
assert_eq!(sockaddr.family(), AF_INET6 as sa_family_t);
225+
assert!(sockaddr.as_inet().is_none());
226+
assert_eq!(sockaddr.as_inet6(), Some(addr));
227+
assert_eq!(sockaddr.as_std(), Some(SocketAddr::V6(addr)));
228+
}
229+
}

0 commit comments

Comments
 (0)