summaryrefslogtreecommitdiff
path: root/vendor/tiff/tests/decode_bigtiff_images.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/tiff/tests/decode_bigtiff_images.rs')
-rw-r--r--vendor/tiff/tests/decode_bigtiff_images.rs46
1 files changed, 46 insertions, 0 deletions
diff --git a/vendor/tiff/tests/decode_bigtiff_images.rs b/vendor/tiff/tests/decode_bigtiff_images.rs
new file mode 100644
index 0000000..9113f42
--- /dev/null
+++ b/vendor/tiff/tests/decode_bigtiff_images.rs
@@ -0,0 +1,46 @@
+extern crate tiff;
+
+use tiff::decoder::Decoder;
+use tiff::tags::Tag;
+use tiff::ColorType;
+
+use std::fs::File;
+use std::path::PathBuf;
+
+const TEST_IMAGE_DIR: &str = "./tests/images/bigtiff";
+
+#[test]
+fn test_big_tiff() {
+ let filenames = ["BigTIFF.tif", "BigTIFFMotorola.tif", "BigTIFFLong.tif"];
+ for filename in filenames.iter() {
+ let path = PathBuf::from(TEST_IMAGE_DIR).join(filename);
+ let img_file = File::open(path).expect("Cannot find test image!");
+ let mut decoder = Decoder::new(img_file).expect("Cannot create decoder");
+ assert_eq!(
+ decoder.dimensions().expect("Cannot get dimensions"),
+ (64, 64)
+ );
+ assert_eq!(
+ decoder.colortype().expect("Cannot get colortype"),
+ ColorType::RGB(8)
+ );
+ assert_eq!(
+ decoder
+ .get_tag_u64(Tag::StripOffsets)
+ .expect("Cannot get StripOffsets"),
+ 16
+ );
+ assert_eq!(
+ decoder
+ .get_tag_u64(Tag::RowsPerStrip)
+ .expect("Cannot get RowsPerStrip"),
+ 64
+ );
+ assert_eq!(
+ decoder
+ .get_tag_u64(Tag::StripByteCounts)
+ .expect("Cannot get StripByteCounts"),
+ 12288
+ )
+ }
+}