Skip to content

Commit 78fa0a9

Browse files
committed
Update test case test08ThatImageTransformerWork with encode options
1 parent 08ec6cf commit 78fa0a9

File tree

1 file changed

+21
-7
lines changed

1 file changed

+21
-7
lines changed

Tests/Tests/SDWebImageManagerTests.m

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -132,17 +132,31 @@ - (void)test07ThatLoadImageWithSDWebImageRefreshCachedWorks {
132132

133133
- (void)test08ThatImageTransformerWork {
134134
XCTestExpectation *expectation = [self expectationWithDescription:@"Image transformer work"];
135-
NSURL *url = [NSURL URLWithString:kTestJPEGURL];
135+
NSURL *url = [NSURL URLWithString:@"http://via.placeholder.com/80x60.png"];
136136
SDWebImageTestTransformer *transformer = [[SDWebImageTestTransformer alloc] init];
137137

138138
transformer.testImage = [[UIImage alloc] initWithContentsOfFile:[self testJPEGPath]];
139-
SDWebImageManager *manager = [[SDWebImageManager alloc] initWithCache:[SDImageCache sharedImageCache] loader:[SDWebImageDownloader sharedDownloader]];
139+
SDImageCache *cache = [[SDImageCache alloc] initWithNamespace:@"Transformer"];
140+
SDWebImageManager *manager = [[SDWebImageManager alloc] initWithCache:cache loader:SDWebImageDownloader.sharedDownloader];
141+
NSString *key = [manager cacheKeyForURL:url];
142+
NSString *transformedKey = [manager cacheKeyForURL:url context:@{SDWebImageContextImageTransformer : transformer}];
143+
140144
manager.transformer = transformer;
141-
[[SDImageCache sharedImageCache] removeImageForKey:kTestJPEGURL withCompletion:^{
142-
[manager loadImageWithURL:url options:SDWebImageTransformAnimatedImage | SDWebImageTransformVectorImage progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {
143-
expect(image).equal(transformer.testImage);
144-
[expectation fulfill];
145-
}];
145+
[cache removeImageFromDiskForKey:key];
146+
[cache removeImageFromMemoryForKey:key];
147+
[cache removeImageFromDiskForKey:transformedKey];
148+
[cache removeImageFromMemoryForKey:transformedKey];
149+
// Test encode options with transformer (because data is not available)
150+
SDImageCoderOptions *encodeOptions = @{SDImageCoderEncodeMaxPixelSize : @(CGSizeMake(40, 30))};
151+
[manager loadImageWithURL:url options:SDWebImageTransformAnimatedImage | SDWebImageTransformVectorImage | SDWebImageWaitStoreCache context:@{SDWebImageContextImageEncodeOptions : encodeOptions} progress:nil completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {
152+
expect(image).equal(transformer.testImage);
153+
// Query the encoded data again
154+
NSData *encodedData = [cache diskImageDataForKey:transformedKey];
155+
UIImage *encodedImage = [UIImage sd_imageWithData:encodedData];
156+
CGSize encodedImageSize = encodedImage.size;
157+
expect(encodedImageSize.width).equal(40);
158+
expect(encodedImageSize.height).equal(30);
159+
[expectation fulfill];
146160
}];
147161

148162
[self waitForExpectationsWithCommonTimeout];

0 commit comments

Comments
 (0)