diff --git a/tests/decode_images.rs b/tests/decode_images.rs index ae1e573..910d43e 100644 --- a/tests/decode_images.rs +++ b/tests/decode_images.rs @@ -44,6 +44,18 @@ fn test_rgb_u8() { } } +#[test] +fn test_gray_u12() { + let img_file = + File::open("./tests/images/12bit.cropped.tiff").expect("Cannot find test image!"); + let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); + assert_eq!(decoder.colortype().unwrap(), ColorType::Gray(12)); + assert!(match decoder.read_image() { + Err(tiff::TiffError::UnsupportedError(tiff::TiffUnsupportedError::UnsupportedColorType(_))) => true, + _ => false, + }); +} + #[test] fn test_gray_u16() { let img_file = @@ -104,6 +116,18 @@ fn test_gray_u64() { } } +#[test] +fn test_rgb_u12() { + let img_file = + File::open("./tests/images/12bit.cropped.rgb.tiff").expect("Cannot find test image!"); + let mut decoder = Decoder::new(img_file).expect("Cannot create decoder"); + assert_eq!(decoder.colortype().unwrap(), ColorType::RGB(12)); + assert!(match decoder.read_image() { + Err(tiff::TiffError::UnsupportedError(tiff::TiffUnsupportedError::UnsupportedColorType(_))) => true, + _ => false, + }); +} + #[test] fn test_rgb_u16() { let img_file = File::open("./tests/images/rgb-3c-16b.tiff").expect("Cannot find test image!"); diff --git a/tests/images/12bit.cropped.rgb.tiff b/tests/images/12bit.cropped.rgb.tiff new file mode 100644 index 0000000..8c8bb58 Binary files /dev/null and b/tests/images/12bit.cropped.rgb.tiff differ diff --git a/tests/images/12bit.cropped.tiff b/tests/images/12bit.cropped.tiff new file mode 100644 index 0000000..f075b6e Binary files /dev/null and b/tests/images/12bit.cropped.tiff differ