Skip to content

Commit e250522

Browse files
committed
test(macros): added test to assert that macros compile with split websocketz
Signed-off-by: Jad K. Haddad <jadkhaddad@gmail.com>
1 parent 3bceb4c commit e250522

2 files changed

Lines changed: 49 additions & 1 deletion

File tree

src/tests.rs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,53 @@ const STR_MESSAGES: &[&str] = &[
3535
#[error("Custom error")]
3636
struct CustomError {}
3737

38+
mod macros {
39+
use tokio::io::{DuplexStream, ReadHalf, WriteHalf};
40+
41+
use crate::{send, send_fragmented};
42+
43+
use super::*;
44+
45+
#[tokio::test]
46+
#[ignore = "Assert that macros compile with split websocketz"]
47+
async fn macros() {
48+
fn split(
49+
stream: FromTokio<DuplexStream>,
50+
) -> (
51+
FromTokio<ReadHalf<DuplexStream>>,
52+
FromTokio<WriteHalf<DuplexStream>>,
53+
) {
54+
let (read, write) = tokio::io::split(stream.into_inner());
55+
56+
(FromTokio::new(read), FromTokio::new(write))
57+
}
58+
59+
let (stream, _) = tokio::io::duplex(16);
60+
61+
let read_buf = &mut [0u8; SIZE];
62+
let write_buf = &mut [0u8; SIZE];
63+
let fragments_buf = &mut [0u8; SIZE];
64+
65+
let mut websocketz = WebSocket::client(
66+
FromTokio::new(stream),
67+
StdRng::from_os_rng(),
68+
read_buf,
69+
write_buf,
70+
fragments_buf,
71+
);
72+
73+
let _ = next!(websocketz);
74+
let _ = send!(websocketz, Message::Text("Message"));
75+
let _ = send_fragmented!(websocketz, Message::Text("Message"), 2);
76+
77+
let (mut websocketz_read, mut websocketz_write) = websocketz.split_with(split);
78+
79+
let _ = next!(websocketz_read);
80+
let _ = send!(websocketz_write, Message::Text("Message"));
81+
let _ = send_fragmented!(websocketz_write, Message::Text("Message"), 2);
82+
}
83+
}
84+
3885
mod client {
3986
use crate::options::ConnectOptions;
4087

src/websocket.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -366,7 +366,8 @@ impl<'buf, RW> WebSocketRead<'buf, RW> {
366366

367367
#[derive(Debug)]
368368
pub struct WebSocketWrite<'buf, RW, Rng> {
369-
core: WebSocketCore<'buf, RW, Rng>,
369+
#[doc(hidden)]
370+
pub core: WebSocketCore<'buf, RW, Rng>,
370371
}
371372

372373
impl<'buf, RW, Rng> WebSocketWrite<'buf, RW, Rng> {

0 commit comments

Comments
 (0)