xref: /webrtc/util/src/conn/conn_pipe_test.rs (revision ffe74184)
1 use super::conn_pipe::*;
2 use super::*;
3 
4 #[tokio::test]
test_pipe() -> Result<()>5 async fn test_pipe() -> Result<()> {
6     let (c1, c2) = pipe();
7     let mut b1 = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
8     let n = c1.send(&b1).await?;
9     assert_eq!(n, 10);
10 
11     let mut b2 = vec![133; 100];
12     let n = c2.recv(&mut b2).await?;
13     assert_eq!(n, 10);
14     assert_eq!(&b2[..n], &b1[..]);
15 
16     let n = c2.send(&b2[..10]).await?;
17     assert_eq!(n, 10);
18     let n = c2.send(&b2[..5]).await?;
19     assert_eq!(n, 5);
20 
21     let n = c1.recv(&mut b1).await?;
22     assert_eq!(n, 10);
23     let n = c1.recv(&mut b1).await?;
24     assert_eq!(n, 5);
25 
26     Ok(())
27 }
28