|
|
@@ -150,4 +150,41 @@ class UIImageViewExtensionTests: XCTestCase {
|
|
|
waitForExpectationsWithTimeout(0.1, handler: nil)
|
|
|
}
|
|
|
|
|
|
+ func testImageDownalodMultipleCaches() {
|
|
|
+
|
|
|
+ let cache1 = ImageCache(name: "cache1")
|
|
|
+ let cache2 = ImageCache(name: "cache2")
|
|
|
+
|
|
|
+ let expectation = expectationWithDescription("wait for downloading image")
|
|
|
+
|
|
|
+ let URLString = testKeys[0]
|
|
|
+ stubRequest("GET", URLString).andReturn(200).withBody(testImageData)
|
|
|
+ let URL = NSURL(string: URLString)!
|
|
|
+
|
|
|
+ imageView.kf_setImageWithURL(URL, placeholderImage: nil, optionsInfo: [.TargetCache: cache1], progressBlock: { (receivedSize, totalSize) -> () in
|
|
|
+
|
|
|
+ }) { (image, error, imageURL) -> () in
|
|
|
+
|
|
|
+ XCTAssertTrue(cache1.isImageCachedForKey(URLString).cached, "This image should be cached in cache1.")
|
|
|
+ XCTAssertFalse(cache2.isImageCachedForKey(URLString).cached, "This image should not be cached in cache2.")
|
|
|
+ XCTAssertFalse(KingfisherManager.sharedManager.cache.isImageCachedForKey(URLString).cached, "This image should not be cached in default cache.")
|
|
|
+
|
|
|
+ self.imageView.kf_setImageWithURL(URL, placeholderImage: nil, optionsInfo: [.TargetCache: cache2], progressBlock: { (receivedSize, totalSize) -> () in
|
|
|
+
|
|
|
+ }, completionHandler: { (image, error, imageURL) -> () in
|
|
|
+ XCTAssertTrue(cache1.isImageCachedForKey(URLString).cached, "This image should be cached in cache1.")
|
|
|
+ XCTAssertTrue(cache2.isImageCachedForKey(URLString).cached, "This image should be cached in cache2.")
|
|
|
+ XCTAssertFalse(KingfisherManager.sharedManager.cache.isImageCachedForKey(URLString).cached, "This image should not be cached in default cache.")
|
|
|
+
|
|
|
+ clearCaches([cache1, cache2])
|
|
|
+
|
|
|
+ expectation.fulfill()
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ waitForExpectationsWithTimeout(0.1, handler: { (error) -> Void in
|
|
|
+ clearCaches([cache1, cache2])
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|