Kaynağa Gözat

Workaround against swift crash when return value as property Xcode6-beta6 rdar://18061554

Marcin Krzyżanowski 11 yıl önce
ebeveyn
işleme
c8e779f9af

+ 2 - 2
CryptoSwift/StringExtension.swift

@@ -14,14 +14,14 @@ extension String {
     /** Calculate MD5 hash */
     public func md5() -> String? {
         if let stringData = self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
-            return stringData.md5().hexString
+            return stringData.md5().toHexString()
         }
         return nil
     }
     
     public func sha1() -> String? {
         if let stringData = self.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
-            return stringData.sha1().hexString
+            return stringData.sha1().toHexString()
         }
         return nil
     }

+ 4 - 7
CryptoSwiftTests/HashTests.swift

@@ -21,10 +21,8 @@ class CryptoSwiftTests: XCTestCase {
     
     func testMD5() {
         let data1:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3) // "1", "2", "3"
-        
-        if let hash = MD5(data1).calculate() {
-            XCTAssertEqual(hash.hexString, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
-        }
+        var hash:NSData = MD5(data1).calculate()
+        XCTAssertEqual(hash.hexString, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
         
         if let hash = "123".md5() {
             XCTAssertEqual(hash, "202CB962AC59075B964B07152D234B70", "MD5 calculation failed");
@@ -61,9 +59,8 @@ class CryptoSwiftTests: XCTestCase {
     
     func testSHA1() {
         var data:NSData = NSData(bytes: [0x31, 0x32, 0x33] as [Byte], length: 3)
-        if let hash = data.sha1() {
-            XCTAssertEqual(hash.hexString, "40BD001563085FC35165329EA1FF5C5ECBDBBEEF", "SHA1 calculation failed");
-        }
+        var hash:NSData = data.sha1()
+        XCTAssertEqual(hash.hexString, "40BD001563085FC35165329EA1FF5C5ECBDBBEEF", "SHA1 calculation failed");
         
         if let hash = "abc".sha1() {
             XCTAssertEqual(hash, "A9993E364706816ABA3E25717850C26C9CD0D89D", "SHA1 calculation failed")