From 17344addcb924f2890337eededbe239c9bfc0c2b Mon Sep 17 00:00:00 2001 From: KAMADA Ken'ichi Date: Tue, 4 May 2021 21:42:26 +0900 Subject: [PATCH] Add a test file for little-endian data. --- src/reader.rs | 30 ++++++++++++++++++++++++++++++ tests/yaminabe.tif | Bin 541 -> 643 bytes tests/yaminale.tif | Bin 0 -> 643 bytes 3 files changed, 30 insertions(+) create mode 100644 tests/yaminale.tif diff --git a/src/reader.rs b/src/reader.rs index f4807b5..dd76bf1 100644 --- a/src/reader.rs +++ b/src/reader.rs @@ -191,6 +191,7 @@ impl<'a> ProvideUnit<'a> for &'a Exif { mod tests { use std::fs::File; use std::io::BufReader; + use crate::tag::Context; use crate::value::Value; use super::*; @@ -240,6 +241,35 @@ mod tests { "10 deg 0 min 0 sec [GPSLatitudeRef missing]"); } + #[test] + fn yaminabe() { + let file = File::open("tests/yaminabe.tif").unwrap(); + let be = Reader::new().read_from_container( + &mut BufReader::new(&file)).unwrap(); + let file = File::open("tests/yaminale.tif").unwrap(); + let le = Reader::new().read_from_container( + &mut BufReader::new(&file)).unwrap(); + assert!(!be.little_endian()); + assert!(le.little_endian()); + for exif in &[be, le] { + assert_eq!(exif.fields().len(), 26); + let f = exif.get_field(Tag::ImageWidth, In(0)).unwrap(); + assert_eq!(f.display_value().to_string(), "17"); + let f = exif.get_field(Tag::Humidity, In(0)).unwrap(); + assert_eq!(f.display_value().to_string(), "65"); + let f = exif.get_field(Tag(Context::Tiff, 65000), In(0)).unwrap(); + match f.value { + Value::Float(ref v) => assert_eq!(v[0], f32::MIN), + _ => panic!(), + } + let f = exif.get_field(Tag(Context::Tiff, 65001), In(0)).unwrap(); + match f.value { + Value::Double(ref v) => assert_eq!(v[0], f64::MIN), + _ => panic!(), + } + } + } + #[test] fn heif() { let file = std::fs::File::open("tests/exif.heic").unwrap(); diff --git a/tests/yaminabe.tif b/tests/yaminabe.tif index b7d85ac5bcc4b3d2e8cb0e1a3d6594ec5a1558f4..2853d2700b6ed1479364d414f7d0d6a1ecd511c7 100644 GIT binary patch delta 315 zcmbQs(#*=`>&u|Uz`(%4ATp6lpD}2nl`?MxqaXtdP>d0Xu1(Ccu1{frjQU88!aCVBiMoWd*7!`umcB2g+_^U|@1$V4lFhzz!5) zF)%VVoWclF1-5qG0!D<5Aonooy)@I>&u|Uz`(%4AUKgrpHXk3l`^jhqaXtdP>d0X3MOV*n>sMcFffA!Kti@q zHWLFwdnQaF!>tZg7@HBOneooVf0B$IlO-5sB?A~(L1r;9f(QmSAP>j}qKwIYjPjG$ zGtM_qjD%rjAyO8WK1!ox zB}uGE6n13E20J32|GDofr*7wW&i$Wr?nf|KN_Ha3q8~~i0g@(k$>|7$Vh30Q>+nqw z>MGCGHpLn^RcOT8HfYj?)$_Q5*&5Dt$lLEfVD!3>4)5tF2PZvzo!& zqaT{cyfy0wadFIIFY-^{4oXCB82tR5B6$v6iw3A&O2WN~eE#w>v20D;#je<}UH~Xf zCk>T6>i{X%@eVJWjEF9k)QbTT)Dsy9_x2DqC?(ejGR-NID2m+i6g)4}vRCBU zT$ZB`?6JN5d9wx)k4aV@PR4(p_xN2V*1t@%T3>jqo?D5>ea6dn%g$Thw70%_ro?`u zRpb;MRTi9GT&;Oq_1nNc;U*N3)u$7w?6!~A*CWMR82 zv+MRG&=?E5W6wS#x;5(|TFvTs6!OQ@Fg1kH29~`0Xy4dC_h2}Jue20SD8~74Fsbkl K8lGT%9sL4b5oUD& literal 0 HcmV?d00001