use crate::decoders::StreamDecoder;
use crate::error::Result;
pub struct DctDecoder;
impl StreamDecoder for DctDecoder {
fn decode(&self, input: &[u8]) -> Result<Vec<u8>> {
Ok(input.to_vec())
}
fn name(&self) -> &str {
"DCTDecode"
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_dct_decode_passthrough() {
let decoder = DctDecoder;
let jpeg_data = b"\xFF\xD8\xFF\xE0\x00\x10JFIF"; let output = decoder.decode(jpeg_data).unwrap();
assert_eq!(output, jpeg_data);
}
#[test]
fn test_dct_decode_empty() {
let decoder = DctDecoder;
let input = b"";
let output = decoder.decode(input).unwrap();
assert_eq!(output, b"");
}
#[test]
fn test_dct_decoder_name() {
let decoder = DctDecoder;
assert_eq!(decoder.name(), "DCTDecode");
}
}