Skip to content

Commit 1666c38

Browse files
author
Rohit Kulkarni
committed
Added clone for targetAddr
Fixes #61
1 parent bf2bec2 commit 1666c38

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/lib.rs

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ impl Stream for ProxyAddrsStream {
102102
}
103103

104104
/// A SOCKS connection target.
105-
#[derive(Debug, PartialEq, Eq)]
105+
#[derive(Debug, PartialEq, Eq, Clone)]
106106
pub enum TargetAddr<'a> {
107107
/// Connect to an IP address.
108108
Ip(SocketAddr),
@@ -292,6 +292,22 @@ mod tests {
292292
Ok(block_on(t.to_proxy_addrs().map(Result::unwrap).collect()))
293293
}
294294

295+
#[test]
296+
fn test_clone_ip() {
297+
let addr = TargetAddr::Ip(SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080));
298+
let addr_clone = addr.clone();
299+
assert_eq!(addr, addr_clone);
300+
assert_eq!(addr.to_string(), addr_clone.to_string());
301+
}
302+
303+
#[test]
304+
fn test_clone_domain() {
305+
let addr = TargetAddr::Domain(Cow::Borrowed("example.com"), 80);
306+
let addr_clone = addr.clone();
307+
assert_eq!(addr, addr_clone);
308+
assert_eq!(addr.to_string(), addr_clone.to_string());
309+
}
310+
295311
#[test]
296312
fn test_display_ip() {
297313
let addr = TargetAddr::Ip(SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080));

0 commit comments

Comments
 (0)