From fd3a9b84992ec78ea431d346fdc7870f54d3e1cc Mon Sep 17 00:00:00 2001 From: Earl Ou Date: Tue, 7 Aug 2012 14:40:56 +0800 Subject: Change Thumbnail test for ExifParser when there is no thumbnail or thumbnail's information Change-Id: Iabd632612895051ee73b776616355bf5e3680d34 --- .../com/android/gallery3d/exif/ExifParserTest.java | 26 +++++----------------- 1 file changed, 6 insertions(+), 20 deletions(-) (limited to 'tests') diff --git a/tests/src/com/android/gallery3d/exif/ExifParserTest.java b/tests/src/com/android/gallery3d/exif/ExifParserTest.java index c514eb700..6c9d74d51 100644 --- a/tests/src/com/android/gallery3d/exif/ExifParserTest.java +++ b/tests/src/com/android/gallery3d/exif/ExifParserTest.java @@ -20,6 +20,7 @@ import android.content.res.XmlResourceParser; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.test.InstrumentationTestCase; +import android.util.Log; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; @@ -347,14 +348,13 @@ public class ExifParserTest extends InstrumentationTestCase { while (type != IfdParser.TYPE_END && type != IfdParser.TYPE_NEXT_IFD) { type = ifdParser.next(); } - // We should meet next_ifd before end - assertTrue(type != IfdParser.TYPE_END); - + if (type == IfdParser.TYPE_END) { + Log.i(TAG, "No Thumbnail"); + return; + } IfdParser ifd1Parser = ifdParser.parseIfdBlock(); int thumbOffset = 0; int thumbSize = 0; - int width = 0; - int height = 0; boolean isFinishRead = false; while (!isFinishRead) { switch (ifd1Parser.next()) { @@ -369,20 +369,8 @@ public class ExifParserTest extends InstrumentationTestCase { long unsignedInt = ifdParser.readUnsignedInt(); assertTrue(unsignedInt <= Integer.MAX_VALUE); thumbSize = (int) unsignedInt; - } else if (tag.getTagId() == ExifTag.TIFF_TAG.TAG_IMAGE_WIDTH) { - long unsigned = tag.getDataType() == ExifTag.TYPE_INT ? - ifd1Parser.readUnsignedInt() : ifd1Parser.readUnsignedShort(); - assertTrue(unsigned <= (tag.getDataType() == ExifTag.TYPE_INT ? - Integer.MAX_VALUE: Short.MAX_VALUE)); - width = (int) unsigned; - } else if (tag.getTagId() == ExifTag.TIFF_TAG.TAG_IMAGE_HEIGHT) { - long unsigned = tag.getDataType() == ExifTag.TYPE_INT ? - ifd1Parser.readUnsignedInt() : ifd1Parser.readUnsignedShort(); - assertTrue(unsigned <= (tag.getDataType() == ExifTag.TYPE_INT ? - Integer.MAX_VALUE: Short.MAX_VALUE)); - height = (int) unsigned; } - isFinishRead = thumbOffset != 0 && thumbSize != 0 && width != 0 && height != 0; + isFinishRead = thumbOffset != 0 && thumbSize != 0; break; case IfdParser.TYPE_END: fail("No thumbnail information found"); @@ -396,8 +384,6 @@ public class ExifParserTest extends InstrumentationTestCase { Bitmap bmp = BitmapFactory.decodeByteArray(buf, 0, thumbSize); // Check correctly decoded assertTrue(bmp != null); - assertEquals(width, bmp.getWidth()); - assertEquals(height, bmp.getHeight()); } @Override -- cgit v1.2.3