| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- // Copyright 2013 The Flutter Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style license that can be
- // found in the LICENSE file.
- #import "ImagePickerTestImages.h"
- @import image_picker;
- @import XCTest;
- @interface MetaDataUtilTests : XCTestCase
- @end
- @implementation MetaDataUtilTests
- - (void)testGetImageMIMETypeFromImageData {
- // test jpeg
- XCTAssertEqual(
- [FLTImagePickerMetaDataUtil getImageMIMETypeFromImageData:ImagePickerTestImages.JPGTestData],
- FLTImagePickerMIMETypeJPEG);
- // test png
- XCTAssertEqual(
- [FLTImagePickerMetaDataUtil getImageMIMETypeFromImageData:ImagePickerTestImages.PNGTestData],
- FLTImagePickerMIMETypePNG);
- // test gif
- XCTAssertEqual(
- [FLTImagePickerMetaDataUtil getImageMIMETypeFromImageData:ImagePickerTestImages.GIFTestData],
- FLTImagePickerMIMETypeGIF);
- }
- - (void)testSuffixFromType {
- // test jpeg
- XCTAssertEqualObjects(
- [FLTImagePickerMetaDataUtil imageTypeSuffixFromType:FLTImagePickerMIMETypeJPEG], @".jpg");
- // test png
- XCTAssertEqualObjects(
- [FLTImagePickerMetaDataUtil imageTypeSuffixFromType:FLTImagePickerMIMETypePNG], @".png");
- // test gif
- XCTAssertEqualObjects(
- [FLTImagePickerMetaDataUtil imageTypeSuffixFromType:FLTImagePickerMIMETypeGIF], @".gif");
- // test other
- XCTAssertNil([FLTImagePickerMetaDataUtil imageTypeSuffixFromType:FLTImagePickerMIMETypeOther]);
- }
- - (void)testGetMetaData {
- NSDictionary *metaData =
- [FLTImagePickerMetaDataUtil getMetaDataFromImageData:ImagePickerTestImages.JPGTestData];
- NSDictionary *exif = [metaData objectForKey:(__bridge NSString *)kCGImagePropertyExifDictionary];
- XCTAssertEqual([exif[(__bridge NSString *)kCGImagePropertyExifPixelXDimension] integerValue], 12);
- }
- - (void)testWriteMetaData {
- NSData *dataJPG = ImagePickerTestImages.JPGTestData;
- NSDictionary *metaData = [FLTImagePickerMetaDataUtil getMetaDataFromImageData:dataJPG];
- NSString *tmpFile = [NSString stringWithFormat:@"image_picker_test.jpg"];
- NSString *tmpDirectory = NSTemporaryDirectory();
- NSString *tmpPath = [tmpDirectory stringByAppendingPathComponent:tmpFile];
- NSData *newData = [FLTImagePickerMetaDataUtil updateMetaData:metaData toImage:dataJPG];
- if ([[NSFileManager defaultManager] createFileAtPath:tmpPath contents:newData attributes:nil]) {
- NSData *savedTmpImageData = [NSData dataWithContentsOfFile:tmpPath];
- NSDictionary *tmpMetaData =
- [FLTImagePickerMetaDataUtil getMetaDataFromImageData:savedTmpImageData];
- XCTAssert([tmpMetaData isEqualToDictionary:metaData]);
- } else {
- XCTAssert(NO);
- }
- }
- - (void)testConvertImageToData {
- UIImage *imageJPG = [UIImage imageWithData:ImagePickerTestImages.JPGTestData];
- NSData *convertedDataJPG = [FLTImagePickerMetaDataUtil convertImage:imageJPG
- usingType:FLTImagePickerMIMETypeJPEG
- quality:@(0.5)];
- XCTAssertEqual([FLTImagePickerMetaDataUtil getImageMIMETypeFromImageData:convertedDataJPG],
- FLTImagePickerMIMETypeJPEG);
- NSData *convertedDataPNG = [FLTImagePickerMetaDataUtil convertImage:imageJPG
- usingType:FLTImagePickerMIMETypePNG
- quality:nil];
- XCTAssertEqual([FLTImagePickerMetaDataUtil getImageMIMETypeFromImageData:convertedDataPNG],
- FLTImagePickerMIMETypePNG);
- }
- @end
|