diff options
author | Earl Ou <shunhsingou@google.com> | 2012-08-28 18:39:49 +0800 |
---|---|---|
committer | Earl Ou <shunhsingou@google.com> | 2012-08-30 14:50:19 +0800 |
commit | 4729f2992f820d5c03011253cd5f528bf0b40129 (patch) | |
tree | cdcfa9ea9dce8ab49c4ac2a618ab95ef7fb12179 /tests | |
parent | 1d3dfbf55bb320dc4d1d4379c385b629c107f713 (diff) | |
download | android_packages_apps_Snap-4729f2992f820d5c03011253cd5f528bf0b40129.tar.gz android_packages_apps_Snap-4729f2992f820d5c03011253cd5f528bf0b40129.tar.bz2 android_packages_apps_Snap-4729f2992f820d5c03011253cd5f528bf0b40129.zip |
ExifOutputStream
Change-Id: I9f2de77e87a502ccdadba0b18658621028c538c9
Diffstat (limited to 'tests')
-rw-r--r-- | tests/src/com/android/gallery3d/exif/ExifOutputStreamTest.java | 77 | ||||
-rw-r--r-- | tests/src/com/android/gallery3d/exif/ExifTestRunner.java | 1 |
2 files changed, 78 insertions, 0 deletions
diff --git a/tests/src/com/android/gallery3d/exif/ExifOutputStreamTest.java b/tests/src/com/android/gallery3d/exif/ExifOutputStreamTest.java new file mode 100644 index 000000000..fb85b2c91 --- /dev/null +++ b/tests/src/com/android/gallery3d/exif/ExifOutputStreamTest.java @@ -0,0 +1,77 @@ +/* + * Copyright (C) 2012 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.gallery3d.exif; + +import android.graphics.Bitmap; +import android.graphics.BitmapFactory; +import android.test.InstrumentationTestCase; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; + +public class ExifOutputStreamTest extends InstrumentationTestCase { + + private final int mImageResourceId; + + public ExifOutputStreamTest(int imageResourceId, int xmlReourceId) { + mImageResourceId = imageResourceId; + } + + public void testExifOutputStream() throws IOException, ExifInvalidFormatException { + File file = File.createTempFile("exif_test", ".jpg"); + InputStream imageInputStream = null; + InputStream exifInputStream = null; + FileInputStream reDecodeInputStream = null; + FileInputStream reParseInputStream = null; + try { + // Read the image + imageInputStream = getInstrumentation() + .getContext().getResources().openRawResource(mImageResourceId); + Bitmap bmp = BitmapFactory.decodeStream(imageInputStream); + + // Read exif data + exifInputStream = getInstrumentation() + .getContext().getResources().openRawResource(mImageResourceId); + ExifData exifData = new ExifReader().read(exifInputStream); + + // Encode the image with the exif data + FileOutputStream outputStream = new FileOutputStream(file); + ExifOutputStream exifOutputStream = new ExifOutputStream(outputStream); + exifOutputStream.setExifData(exifData); + bmp.compress(Bitmap.CompressFormat.JPEG, 100, exifOutputStream); + exifOutputStream.close(); + + // Re-decode the temp file and check the data. + reDecodeInputStream = new FileInputStream(file); + Bitmap decodedBmp = BitmapFactory.decodeStream(reDecodeInputStream); + assertNotNull(decodedBmp); + + // Re-parse the temp file the check EXIF tag + reParseInputStream = new FileInputStream(file); + ExifData reExifData = new ExifReader().read(reParseInputStream); + assertEquals(exifData, reExifData); + } finally { + Util.closeSilently(imageInputStream); + Util.closeSilently(exifInputStream); + Util.closeSilently(reDecodeInputStream); + Util.closeSilently(reParseInputStream); + } + } +}
\ No newline at end of file diff --git a/tests/src/com/android/gallery3d/exif/ExifTestRunner.java b/tests/src/com/android/gallery3d/exif/ExifTestRunner.java index 022597d73..bcbc9f57b 100644 --- a/tests/src/com/android/gallery3d/exif/ExifTestRunner.java +++ b/tests/src/com/android/gallery3d/exif/ExifTestRunner.java @@ -44,6 +44,7 @@ public class ExifTestRunner extends InstrumentationTestRunner { TestSuite suite = new InstrumentationTestSuite(this); getAllTestFromTestCase(ExifParserTest.class, suite); getAllTestFromTestCase(ExifReaderTest.class, suite); + getAllTestFromTestCase(ExifOutputStreamTest.class, suite); return suite; } |