equal
deleted
inserted
replaced
12 use std::{ |
12 use std::{ |
13 str, str::FromStr, |
13 str, str::FromStr, |
14 ops::Range |
14 ops::Range |
15 }; |
15 }; |
16 use super::{ |
16 use super::{ |
17 messages::{HWProtocolMessage, HWProtocolMessage::*}, |
17 messages::{HWProtocolMessage, HWProtocolMessage::*} |
18 test::gen_proto_msg |
|
19 }; |
18 }; |
|
19 #[cfg(test)] |
|
20 use super::test::gen_proto_msg; |
20 use crate::server::coretypes::{ |
21 use crate::server::coretypes::{ |
21 HedgehogInfo, TeamInfo, GameCfg, VoteType, MAX_HEDGEHOGS_PER_TEAM |
22 HedgehogInfo, TeamInfo, GameCfg, VoteType, MAX_HEDGEHOGS_PER_TEAM |
22 }; |
23 }; |
23 |
24 |
24 named!(end_of_message, tag!("\n\n")); |
25 named!(end_of_message, tag!("\n\n")); |
240 ) |
241 ) |
241 ); |
242 ); |
242 |
243 |
243 named!(pub extract_messages<&[u8], Vec<HWProtocolMessage> >, many0!(complete!(message))); |
244 named!(pub extract_messages<&[u8], Vec<HWProtocolMessage> >, many0!(complete!(message))); |
244 |
245 |
|
246 #[cfg(test)] |
245 proptest! { |
247 proptest! { |
246 #[test] |
248 #[test] |
247 fn is_parser_composition_idempotent(ref msg in gen_proto_msg()) { |
249 fn is_parser_composition_idempotent(ref msg in gen_proto_msg()) { |
248 println!("!! Msg: {:?}, Bytes: {:?} !!", msg, msg.to_raw_protocol().as_bytes()); |
250 println!("!! Msg: {:?}, Bytes: {:?} !!", msg, msg.to_raw_protocol().as_bytes()); |
249 assert_eq!(message(msg.to_raw_protocol().as_bytes()), Ok((&b""[..], msg.clone()))) |
251 assert_eq!(message(msg.to_raw_protocol().as_bytes()), Ok((&b""[..], msg.clone()))) |