Просмотр исходного кода

Refactor image creating in Kingfisher compatible

onevcat 7 лет назад
Родитель
Сommit
fc335a58f9

+ 1 - 1
Sources/CacheSerializer.swift

@@ -78,6 +78,6 @@ public struct DefaultCacheSerializer: CacheSerializer {
     
     public func image(with data: Data, options: KingfisherOptionsInfo?) -> Image? {
         let options = options ?? KingfisherEmptyOptionsInfo
-        return KingfisherClass.image(with: data, options: options.imageCreatingOptions)
+        return KingfisherClass.image(data: data, options: options.imageCreatingOptions)
     }
 }

+ 1 - 1
Sources/FormatIndicatedCacheSerializer.swift

@@ -87,6 +87,6 @@ public struct FormatIndicatedCacheSerializer: CacheSerializer {
     /// Same implementation as `DefaultCacheSerializer`.
     public func image(with data: Data, options: KingfisherOptionsInfo?) -> Image? {
         let options = options ?? KingfisherEmptyOptionsInfo
-        return KingfisherClass.image(with: data, options: options.imageCreatingOptions)
+        return KingfisherClass.image(data: data, options: options.imageCreatingOptions)
     }
 }

+ 2 - 2
Sources/Image.swift

@@ -254,7 +254,7 @@ extension KingfisherClass where Base: Image {
         return animatedImage(data: data, options: options)
     }
 
-    public static func image(with data: Data, options: ImageCreatingOptions) -> Image? {
+    public static func image(data: Data, options: ImageCreatingOptions) -> Image? {
         var image: Image?
         switch data.kf.imageFormat {
         case .JPEG:
@@ -282,7 +282,7 @@ extension KingfisherClass where Base: Image {
             duration: 0.0,
             preloadAll: preloadAllAnimationData,
             onlyFirstFrame: onlyFirstFrame)
-        return KingfisherClass.image(with: data, options: options)
+        return KingfisherClass.image(data: data, options: options)
     }
 }
 

+ 1 - 1
Sources/ImageProcessor.swift

@@ -135,7 +135,7 @@ public struct DefaultImageProcessor: ImageProcessor {
         case .image(let image):
             return image.kf.scaled(to: options.scaleFactor)
         case .data(let data):
-            return KingfisherClass.image(with: data, options: options.imageCreatingOptions)
+            return KingfisherClass.image(data: data, options: options.imageCreatingOptions)
         }
     }
 }

+ 12 - 10
Tests/KingfisherTests/ImageExtensionTests.swift

@@ -58,7 +58,8 @@ class ImageExtensionTests: XCTestCase {
     }
     
     func testGenerateGIFImage() {
-        let image = KingfisherClass<Image>.animated(with: testImageGIFData, preloadAll: false)
+        let options = ImageCreatingOptions()
+        let image = KingfisherClass<Image>.animatedImage(data: testImageGIFData, options: options)
         XCTAssertNotNil(image, "The image should be initiated.")
 #if os(iOS) || os(tvOS)
         let count = CGImageSourceGetCount(image!.kf.imageSource!)
@@ -70,20 +71,23 @@ class ImageExtensionTests: XCTestCase {
     }
     
     func testGIFRepresentation() {
-        let image = KingfisherClass<Image>.animated(with: testImageGIFData, preloadAll: false)!
+        let options = ImageCreatingOptions()
+        let image = KingfisherClass<Image>.animatedImage(data: testImageGIFData, options: options)!
         let data = image.kf.gifRepresentation()
         
         XCTAssertNotNil(data, "Data should not be nil")
         XCTAssertEqual(data?.kf.imageFormat, ImageFormat.GIF)
         
-        let allLoadImage = KingfisherClass<Image>.animated(with: data!, preloadAll: true)!
+        let preloadOptions = ImageCreatingOptions(preloadAll: true)
+        let allLoadImage = KingfisherClass<Image>.animatedImage(data: data!, options: preloadOptions)!
         let allLoadData = allLoadImage.kf.gifRepresentation()
         XCTAssertNotNil(allLoadData, "Data1 should not be nil")
         XCTAssertEqual(allLoadData?.kf.imageFormat, ImageFormat.GIF)
     }
     
     func testGenerateSingleFrameGIFImage() {
-        let image = KingfisherClass<Image>.animated(with: testImageSingleFrameGIFData, preloadAll: false)
+        let options = ImageCreatingOptions()
+        let image = KingfisherClass<Image>.animatedImage(data: testImageSingleFrameGIFData, options: options)
         XCTAssertNotNil(image, "The image should be initiated.")
 #if os(iOS) || os(tvOS)
         let count = CGImageSourceGetCount(image!.kf.imageSource!)
@@ -96,7 +100,8 @@ class ImageExtensionTests: XCTestCase {
     }
     
     func testPreloadAllAnimationData() {
-        let image = KingfisherClass<Image>.animated(with: testImageSingleFrameGIFData, preloadAll: true)!
+        let preloadOptions = ImageCreatingOptions(preloadAll: true)
+        let image = KingfisherClass<Image>.animatedImage(data: testImageSingleFrameGIFData, options: preloadOptions)!
         XCTAssertNotNil(image, "The image should be initiated.")
 #if os(iOS) || os(tvOS)
         XCTAssertNil(image.kf.imageSource, "Image source should be nil")
@@ -106,11 +111,8 @@ class ImageExtensionTests: XCTestCase {
     }
     
     func testLoadOnlyFirstFrame() {
-        let image = KingfisherClass<Image>.animated(with: testImageGIFData,
-                                               scale: 1.0,
-                                               duration: 0.0,
-                                               preloadAll: true,
-                                               onlyFirstFrame: true)!
+        let preloadOptions = ImageCreatingOptions(preloadAll: true, onlyFirstFrame: true)
+        let image = KingfisherClass<Image>.animatedImage(data: testImageGIFData, options: preloadOptions)!
         XCTAssertNotNil(image, "The image should be initiated.")
         XCTAssertNil(image.kf.images, "The image should be nil")
     }

+ 1 - 5
Tests/KingfisherTests/KingfisherManagerTests.swift

@@ -686,11 +686,7 @@ class SimpleProcessor: ImageProcessor {
         case .image(let image):
             return image
         case .data(let data):
-            return KingfisherClass<Image>.image(
-                data: data,
-                scale: options.scaleFactor,
-                preloadAllAnimationData: options.preloadAllAnimationData,
-                onlyFirstFrame: options.onlyLoadFirstFrame)
+            return KingfisherClass<Image>.image(data: data, options: options.imageCreatingOptions)
         }
     }
 }