From b7b61afaccf718ecb37cbc67260ad59ef34908c3 Mon Sep 17 00:00:00 2001 From: Nathan Fox Date: Sat, 21 Apr 2018 17:20:23 -0400 Subject: [PATCH] add ws close description parse test --- src/ws/proto.rs | 2 +- tests/test_ws.rs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/ws/proto.rs b/src/ws/proto.rs index 0dbb5fda8..954f3f4a7 100644 --- a/src/ws/proto.rs +++ b/src/ws/proto.rs @@ -179,7 +179,7 @@ impl From for CloseCode { } } -#[derive(Debug, PartialEq)] +#[derive(Debug, Eq, PartialEq, Clone)] pub struct CloseReason { pub code: CloseCode, pub description: Option, diff --git a/tests/test_ws.rs b/tests/test_ws.rs index 624f91593..1283b2e89 100644 --- a/tests/test_ws.rs +++ b/tests/test_ws.rs @@ -70,6 +70,17 @@ fn test_empty_close_code() { assert_eq!(item, Some(ws::Message::Close(None))); } +#[test] +fn test_close_description() { + let mut srv = test::TestServer::new(|app| app.handler(|req| ws::start(req, Ws))); + let (reader, mut writer) = srv.ws().unwrap(); + + let close_reason:ws::CloseReason = (ws::CloseCode::Normal, "close description").into(); + writer.close(Some(close_reason.clone())); + let (item, _) = srv.execute(reader.into_future()).unwrap(); + assert_eq!(item, Some(ws::Message::Close(Some(close_reason)))); +} + #[test] fn test_large_text() { let data = rand::thread_rng()