From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Mon, 8 Jan 2024 01:21:28 +0400 Subject: Initial vendor packages Signed-off-by: Valentin Popov --- vendor/weezl/tests/implicit_reset.rs | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 vendor/weezl/tests/implicit_reset.rs (limited to 'vendor/weezl/tests/implicit_reset.rs') diff --git a/vendor/weezl/tests/implicit_reset.rs b/vendor/weezl/tests/implicit_reset.rs new file mode 100644 index 0000000..69dd8a8 --- /dev/null +++ b/vendor/weezl/tests/implicit_reset.rs @@ -0,0 +1,21 @@ +use std::{env, fs}; +use weezl::{decode, encode, BitOrder}; + +#[test] +fn read_from_mangled() { + let file = env::args().next().unwrap(); + let data = fs::read(file).unwrap(); + + // For simplicity, encode 7-bit data. + let data: Vec<_> = data.iter().copied().map(|b| b & 0x7f).collect(); + + let mut encoder = encode::Encoder::new(BitOrder::Lsb, 7); + let mut buffer = Vec::with_capacity(2 * data.len() + 40); + let _ = encoder.into_stream(&mut buffer).encode_all(&*data); + + let mut decoder = decode::Decoder::new(BitOrder::Lsb, 7); + let mut compare = vec![]; + let result = decoder.into_stream(&mut compare).decode_all(&buffer[1..]); + assert!(result.status.is_ok(), "{:?}", result.status); + assert!(data == &*compare, "{:?}\n{:?}", data, compare); +} -- cgit v1.2.3