Procházet zdrojové kódy

Fix tests for OS X

onevcat před 10 roky
rodič
revize
fd38434b6c

+ 5 - 2
Sources/Image.swift

@@ -145,8 +145,11 @@ extension Image {
 // MARK: - PNG
 // MARK: - PNG
 func ImagePNGRepresentation(image: Image) -> NSData? {
 func ImagePNGRepresentation(image: Image) -> NSData? {
 #if os(OSX)
 #if os(OSX)
-    let rep = NSBitmapImageRep(CGImage: image.CGImage)
-    return rep.representationUsingType(.NSPNGFileType, properties:[:])
+    if let cgimage = image.CGImage {
+        let rep = NSBitmapImageRep(CGImage: cgimage)
+        return rep.representationUsingType(.NSPNGFileType, properties:[:])
+    }
+    return nil
 #else
 #else
     return UIImagePNGRepresentation(image)
     return UIImagePNGRepresentation(image)
 #endif
 #endif

+ 8 - 2
Tests/KingfisherTests/ImagePrefetcherTests.swift

@@ -27,6 +27,12 @@
 import XCTest
 import XCTest
 import Kingfisher
 import Kingfisher
 
 
+#if os(OSX)
+    import AppKit
+#else
+    import UIKit
+#endif
+
 class ImagePrefetcherTests: XCTestCase {
 class ImagePrefetcherTests: XCTestCase {
     
     
     override class func setUp() {
     override class func setUp() {
@@ -118,7 +124,7 @@ class ImagePrefetcherTests: XCTestCase {
 
 
     func testPrefetcherCouldSkipCachedImages() {
     func testPrefetcherCouldSkipCachedImages() {
         let expectation = expectationWithDescription("wait for prefetching images")
         let expectation = expectationWithDescription("wait for prefetching images")
-        KingfisherManager.sharedManager.cache.storeImage(UIImage(), forKey: testKeys[0])
+        KingfisherManager.sharedManager.cache.storeImage(Image(), forKey: testKeys[0])
         
         
         var urls = [NSURL]()
         var urls = [NSURL]()
         for URLString in testKeys {
         for URLString in testKeys {
@@ -146,7 +152,7 @@ class ImagePrefetcherTests: XCTestCase {
         let expectation = expectationWithDescription("wait for prefetching images")
         let expectation = expectationWithDescription("wait for prefetching images")
         
         
         // Store an image in cache.
         // Store an image in cache.
-        KingfisherManager.sharedManager.cache.storeImage(UIImage(), forKey: testKeys[0])
+        KingfisherManager.sharedManager.cache.storeImage(Image(), forKey: testKeys[0])
         
         
         var urls = [NSURL]()
         var urls = [NSURL]()
         for URLString in testKeys {
         for URLString in testKeys {