Format code using 'cargo fmt'
This commit is contained in:
8 files changed
+369
-152
No files matched your search
+221
-42
@@ -1,9 +1,9 @@
|
||||
extern crate tiff;
|
||||
|
||||
use tiff::decoder::{Decoder, DecodingResult};
|
||||
use tiff::encoder::{colortype, TiffEncoder, SRational};
|
||||
use tiff::ColorType;
|
||||
use tiff::encoder::{colortype, SRational, TiffEncoder};
|
||||
use tiff::tags::Tag;
|
||||
use tiff::ColorType;
|
||||
|
||||
use std::fs::File;
|
||||
use std::io::{Cursor, Seek, SeekFrom};
|
||||
@@ -58,7 +58,10 @@ const TEST_IMAGE_DIR: &str = "./tests/images/";
|
||||
|
||||
macro_rules! test_roundtrip {
|
||||
($name:ident, $buffer:ident, $buffer_ty:ty) => {
|
||||
fn $name<C: colortype::ColorType<Inner=$buffer_ty>>(file: &str, expected_type: ColorType) {
|
||||
fn $name<C: colortype::ColorType<Inner = $buffer_ty>>(
|
||||
file: &str,
|
||||
expected_type: ColorType,
|
||||
) {
|
||||
let path = PathBuf::from(TEST_IMAGE_DIR).join(file);
|
||||
let img_file = File::open(path).expect("Cannot find test image!");
|
||||
let mut decoder = Decoder::new(img_file).expect("Cannot create decoder");
|
||||
@@ -74,8 +77,7 @@ macro_rules! test_roundtrip {
|
||||
let mut tiff = TiffEncoder::new(&mut file).unwrap();
|
||||
|
||||
let (width, height) = decoder.dimensions().unwrap();
|
||||
tiff.write_image::<C>(width, height, &image_data)
|
||||
.unwrap();
|
||||
tiff.write_image::<C>(width, height, &image_data).unwrap();
|
||||
}
|
||||
file.seek(SeekFrom::Start(0)).unwrap();
|
||||
{
|
||||
@@ -155,21 +157,64 @@ fn test_multiple_byte() {
|
||||
let encoder = image_encoder.encoder();
|
||||
|
||||
encoder.write_tag(Tag::Unknown(65000), &[1_u8][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65001), &[1_u8, 2][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65002), &[1_u8, 2, 3][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65003), &[1_u8, 2, 3, 4][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65004), &[1_u8, 2, 3, 4, 5][..]).unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65001), &[1_u8, 2][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65002), &[1_u8, 2, 3][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65003), &[1_u8, 2, 3, 4][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65004), &[1_u8, 2, 3, 4, 5][..])
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
data.set_position(0);
|
||||
{
|
||||
let mut decoder = Decoder::new(&mut data).unwrap();
|
||||
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65000)).unwrap().into_u32_vec().unwrap(), [1]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65001)).unwrap().into_u32_vec().unwrap(), [1, 2]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65002)).unwrap().into_u32_vec().unwrap(), [1, 2, 3]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65003)).unwrap().into_u32_vec().unwrap(), [1, 2, 3, 4]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65004)).unwrap().into_u32_vec().unwrap(), [1, 2, 3, 4, 5]);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65000))
|
||||
.unwrap()
|
||||
.into_u32_vec()
|
||||
.unwrap(),
|
||||
[1]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65001))
|
||||
.unwrap()
|
||||
.into_u32_vec()
|
||||
.unwrap(),
|
||||
[1, 2]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65002))
|
||||
.unwrap()
|
||||
.into_u32_vec()
|
||||
.unwrap(),
|
||||
[1, 2, 3]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65003))
|
||||
.unwrap()
|
||||
.into_u32_vec()
|
||||
.unwrap(),
|
||||
[1, 2, 3, 4]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65004))
|
||||
.unwrap()
|
||||
.into_u32_vec()
|
||||
.unwrap(),
|
||||
[1, 2, 3, 4, 5]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -185,23 +230,48 @@ fn test_signed() {
|
||||
|
||||
//Use the "reusable" tags section as per the TIFF6 spec
|
||||
encoder.write_tag(Tag::Unknown(65000), -1_i8).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65001), &[-1_i8][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65002), &[-1_i8, 2][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65003), &[-1_i8, 2, -3][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65004), &[-1_i8, 2, -3, 4][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65005), &[-1_i8, 2, -3, 4, -5][..]).unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65001), &[-1_i8][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65002), &[-1_i8, 2][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65003), &[-1_i8, 2, -3][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65004), &[-1_i8, 2, -3, 4][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65005), &[-1_i8, 2, -3, 4, -5][..])
|
||||
.unwrap();
|
||||
|
||||
encoder.write_tag(Tag::Unknown(65010), -1_i16).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65011), -1_i16).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65012), &[-1_i16, 2][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65013), &[-1_i16, 2, -3][..]).unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65012), &[-1_i16, 2][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65013), &[-1_i16, 2, -3][..])
|
||||
.unwrap();
|
||||
|
||||
encoder.write_tag(Tag::Unknown(65020), -1_i32).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65021), &[-1_i32][..]).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65022), &[-1_i32, 2][..]).unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65021), &[-1_i32][..])
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65022), &[-1_i32, 2][..])
|
||||
.unwrap();
|
||||
|
||||
encoder.write_tag(Tag::Unknown(65030), SRational { n: -1, d: 100 }).unwrap();
|
||||
encoder.write_tag(Tag::Unknown(65031), &[SRational { n: -1, d: 100 }, SRational { n: 2, d: 100 }][..]).unwrap();
|
||||
encoder
|
||||
.write_tag(Tag::Unknown(65030), SRational { n: -1, d: 100 })
|
||||
.unwrap();
|
||||
encoder
|
||||
.write_tag(
|
||||
Tag::Unknown(65031),
|
||||
&[SRational { n: -1, d: 100 }, SRational { n: 2, d: 100 }][..],
|
||||
)
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
//Rewind the cursor for reading
|
||||
@@ -209,24 +279,129 @@ fn test_signed() {
|
||||
{
|
||||
let mut decoder = Decoder::new(&mut data).unwrap();
|
||||
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65000)).unwrap().into_i32().unwrap(), -1, );
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65001)).unwrap().into_i32_vec().unwrap(), [-1]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65002)).unwrap().into_i32_vec().unwrap(), [-1, 2]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65003)).unwrap().into_i32_vec().unwrap(), [-1, 2, -3]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65004)).unwrap().into_i32_vec().unwrap(), [-1, 2, -3, 4]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65005)).unwrap().into_i32_vec().unwrap(), [-1, 2, -3, 4, -5], );
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65000))
|
||||
.unwrap()
|
||||
.into_i32()
|
||||
.unwrap(),
|
||||
-1,
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65001))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65002))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65003))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2, -3]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65004))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2, -3, 4]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65005))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2, -3, 4, -5],
|
||||
);
|
||||
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65010)).unwrap().into_i32().unwrap(), -1);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65011)).unwrap().into_i32_vec().unwrap(), [-1]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65012)).unwrap().into_i32_vec().unwrap(), [-1, 2]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65013)).unwrap().into_i32_vec().unwrap(), [-1, 2, -3]);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65010))
|
||||
.unwrap()
|
||||
.into_i32()
|
||||
.unwrap(),
|
||||
-1
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65011))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65012))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65013))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2, -3]
|
||||
);
|
||||
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65020)).unwrap().into_i32().unwrap(), -1);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65021)).unwrap().into_i32_vec().unwrap(), [-1]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65022)).unwrap().into_i32_vec().unwrap(), [-1, 2]);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65020))
|
||||
.unwrap()
|
||||
.into_i32()
|
||||
.unwrap(),
|
||||
-1
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65021))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65022))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 2]
|
||||
);
|
||||
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65030)).unwrap().into_i32_vec().unwrap(), [-1, 100]);
|
||||
assert_eq!(decoder.get_tag(Tag::Unknown(65031)).unwrap().into_i32_vec().unwrap(), [-1_i32, 100, 2, 100]);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65030))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1, 100]
|
||||
);
|
||||
assert_eq!(
|
||||
decoder
|
||||
.get_tag(Tag::Unknown(65031))
|
||||
.unwrap()
|
||||
.into_i32_vec()
|
||||
.unwrap(),
|
||||
[-1_i32, 100, 2, 100]
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -241,10 +416,14 @@ fn test_multipage_image() {
|
||||
|
||||
// write first grayscale image (2x2 16-bit)
|
||||
let img1: Vec<u16> = [1, 2, 3, 4].to_vec();
|
||||
img_encoder.write_image::<colortype::Gray16>(2, 2, &img1[..]).unwrap();
|
||||
img_encoder
|
||||
.write_image::<colortype::Gray16>(2, 2, &img1[..])
|
||||
.unwrap();
|
||||
// write second grayscale image (3x3 8-bit)
|
||||
let img2: Vec<u8> = [9, 8, 7, 6, 5, 4, 3, 2, 1].to_vec();
|
||||
img_encoder.write_image::<colortype::Gray8>(3, 3, &img2[..]).unwrap();
|
||||
img_encoder
|
||||
.write_image::<colortype::Gray8>(3, 3, &img2[..])
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
// seek to the beginning of the file, so that it can be decoded
|
||||
|
||||
Reference in new issue
Block a user