Added test case `testUIViewOperationKeyContextWorks` to ensure this behavior
This commit is contained in:
parent
64b13dc346
commit
e8a357e504
|
@ -350,6 +350,32 @@
|
||||||
[self waitForExpectationsWithCommonTimeout];
|
[self waitForExpectationsWithCommonTimeout];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void)testUIViewOperationKeyContextWorks {
|
||||||
|
XCTestExpectation *expectation = [self expectationWithDescription:@"UIView operation key context should pass through"];
|
||||||
|
|
||||||
|
UIView *view = [[UIView alloc] init];
|
||||||
|
NSURL *originalImageURL = [NSURL URLWithString:kTestJPEGURL];
|
||||||
|
SDWebImageManager *customManager = [[SDWebImageManager alloc] initWithCache:SDImageCachesManager.sharedManager loader:SDImageLoadersManager.sharedManager];
|
||||||
|
customManager.optionsProcessor = [SDWebImageOptionsProcessor optionsProcessorWithBlock:^SDWebImageOptionsResult * _Nullable(NSURL * _Nullable url, SDWebImageOptions options, SDWebImageContext * _Nullable context) {
|
||||||
|
// expect manager does not exist, avoid retain cycle
|
||||||
|
expect(context[SDWebImageContextCustomManager]).beNil();
|
||||||
|
// expect operation key to be the image view class
|
||||||
|
expect(context[SDWebImageContextSetImageOperationKey]).equal(NSStringFromClass(view.class));
|
||||||
|
return [[SDWebImageOptionsResult alloc] initWithOptions:options context:context];
|
||||||
|
}];
|
||||||
|
[view sd_internalSetImageWithURL:originalImageURL
|
||||||
|
placeholderImage:nil
|
||||||
|
options:0
|
||||||
|
context:@{SDWebImageContextCustomManager: customManager}
|
||||||
|
setImageBlock:nil
|
||||||
|
progress:nil
|
||||||
|
completed:^(UIImage * _Nullable image, NSData * _Nullable data, NSError * _Nullable error, SDImageCacheType cacheType, BOOL finished, NSURL * _Nullable imageURL) {
|
||||||
|
[expectation fulfill];
|
||||||
|
}];
|
||||||
|
|
||||||
|
[self waitForExpectationsWithCommonTimeout];
|
||||||
|
}
|
||||||
|
|
||||||
#pragma mark - Helper
|
#pragma mark - Helper
|
||||||
- (UIWindow *)window {
|
- (UIWindow *)window {
|
||||||
if (!_window) {
|
if (!_window) {
|
||||||
|
|
Loading…
Reference in New Issue