aboutsummaryrefslogtreecommitdiff
path: root/vendor/weezl/tests/roundtrip.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/weezl/tests/roundtrip.rs')
-rw-r--r--vendor/weezl/tests/roundtrip.rs66
1 files changed, 0 insertions, 66 deletions
diff --git a/vendor/weezl/tests/roundtrip.rs b/vendor/weezl/tests/roundtrip.rs
deleted file mode 100644
index f124fae..0000000
--- a/vendor/weezl/tests/roundtrip.rs
+++ /dev/null
@@ -1,66 +0,0 @@
-use std::{env, fs};
-use weezl::{decode, encode, BitOrder};
-
-#[derive(Clone, Copy, Debug)]
-enum Flavor {
- Gif,
- Tiff,
-}
-
-#[test]
-fn roundtrip_all() {
- let file = env::args().next().unwrap();
- let data = fs::read(file).unwrap();
-
- for &flavor in &[Flavor::Gif, Flavor::Tiff] {
- for &bit_order in &[BitOrder::Lsb, BitOrder::Msb] {
- for bit_width in 2..8 {
- let data: Vec<_> = data
- .iter()
- .copied()
- .map(|b| b & ((1 << bit_width) - 1))
- .collect();
-
- println!("Roundtrip test {:?} {:?} {}", flavor, bit_order, bit_width);
- assert_roundtrips(&*data, flavor, bit_width, bit_order);
- }
- }
- }
-}
-
-fn assert_roundtrips(data: &[u8], flavor: Flavor, bit_width: u8, bit_order: BitOrder) {
- let (c, d): (
- fn(BitOrder, u8) -> encode::Encoder,
- fn(BitOrder, u8) -> decode::Decoder,
- ) = match flavor {
- Flavor::Gif => (encode::Encoder::new, decode::Decoder::new),
- Flavor::Tiff => (
- encode::Encoder::with_tiff_size_switch,
- decode::Decoder::with_tiff_size_switch,
- ),
- };
- let mut encoder = c(bit_order, bit_width);
- let mut buffer = Vec::with_capacity(2 * data.len() + 40);
- let _ = encoder.into_stream(&mut buffer).encode_all(data);
-
- let mut decoder = d(bit_order, bit_width);
- let mut compare = vec![];
- let result = decoder
- .into_stream(&mut compare)
- .decode_all(buffer.as_slice());
- assert!(
- result.status.is_ok(),
- "{:?}, {}, {:?}",
- bit_order,
- bit_width,
- result.status
- );
- assert!(
- data == &*compare,
- "{:?}, {}\n{:?}\n{:?}",
- bit_order,
- bit_width,
- data,
- compare
- );
-}