use bitvec::order::{Lsb0, Msb0};
use crate::protocol::{
prelude::common::{
bits::{BitDecoder, Frame, FrameDecoder, FrameEncoder},
event::EventDecoder,
},
versions::Version,
};
#[test]
fn test() {
let mut encoder: FrameEncoder<Lsb0> = FrameEncoder::<Lsb0>::new(Version::V1.to_u8()).unwrap();
let frame: Vec<u8> = encoder
.encode(Box::new(
crate::server::prelude::versions::v1::c0x0004::FullFyveResponse::new(
"src/tests/res/test.html".to_string(),
),
))
.unwrap();
let mut decoder = BitDecoder::<Msb0>::new(frame);
let mut frame_decoder = FrameDecoder::<Msb0>::new(decoder.clone());
let data: Frame<Msb0> = frame_decoder.decode().unwrap();
decoder = frame_decoder.get_decoder().to_owned();
let mut decoded_data =
crate::client::prelude::versions::v1::r0x0004::FullFyveResponse::new(decoder);
decoded_data.decode(data).unwrap();
assert_eq!(decoded_data.filename, "test.html".to_string());
assert_eq!(
decoded_data.content,
"<p>Hello, <u>World</u>!</p>".to_string()
);
}