Norio Nomura 8 жил өмнө
parent
commit
84d1ae4789

+ 2 - 0
Base32.xcodeproj/project.pbxproj

@@ -30,6 +30,7 @@
 /* End PBXContainerItemProxy section */
 
 /* Begin PBXFileReference section */
+		6C9233FE1E5307C2003ABE13 /* LinuxMain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = LinuxMain.swift; path = Tests/LinuxMain.swift; sourceTree = "<group>"; };
 		6CDCD8721D98BE7800A65866 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
 		6CDCD8731D98BE7800A65866 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
 		__PBXFileRef_Base32.xcodeproj/Configs/Project.xcconfig /* Base32.xcodeproj/Configs/Project.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Base32.xcodeproj/Configs/Project.xcconfig; sourceTree = "<group>"; };
@@ -156,6 +157,7 @@
 		"_______Tests_" /* Tests */ = {
 			isa = PBXGroup;
 			children = (
+				6C9233FE1E5307C2003ABE13 /* LinuxMain.swift */,
 				"_______Group_Base32Tests" /* Base32Tests */,
 				"_______Group_SecEncodeTransformTests" /* SecEncodeTransformTests */,
 			);

+ 8 - 1
Package.swift

@@ -1,5 +1,12 @@
 import PackageDescription
 
 let package = Package(
-    name: "Base32"
+    name: "Base32",
+    exclude: {
+        #if os(Linux)
+            return ["Tests/SecEncodeTransformTests"]
+        #else
+            return []
+        #endif
+    }()
 )

+ 13 - 0
Tests/Base32Tests/Base16Tests.swift

@@ -137,3 +137,16 @@ class Base16Tests: XCTestCase {
         XCTAssertEqual(encodedFromData, lowercaseDataString)
     }
 }
+
+extension Base16Tests {
+    static var allTests: [(String, (Base16Tests) -> () throws -> Void)] {
+        return [
+            ("test_RFC4648_base16Encode", test_RFC4648_base16Encode),
+            ("test_RFC4648_base16Decode", test_RFC4648_base16Decode),
+            ("test_Base16ExtensionString", test_Base16ExtensionString),
+            ("test_Base16ExtensionData", test_Base16ExtensionData),
+            ("test_Base16ExtensionDataAndString", test_Base16ExtensionDataAndString),
+            ("test_lowercase", test_lowercase),
+        ]
+    }
+}

+ 15 - 0
Tests/Base32Tests/Base32Tests.swift

@@ -208,3 +208,18 @@ class Base32Tests: XCTestCase {
         }
     }
 }
+
+extension Base32Tests {
+    static var allTests: [(String, (Base32Tests) -> () throws -> Void)] {
+        return [
+            ("test_RFC4648_base32Encode", test_RFC4648_base32Encode),
+            ("test_RFC4648_base32Decode", test_RFC4648_base32Decode),
+            ("test_RFC4648_base32HexEncode", test_RFC4648_base32HexEncode),
+            ("test_RFC4648_base32HexDecode", test_RFC4648_base32HexDecode),
+            ("test_base32ExtensionString", test_base32ExtensionString),
+            ("test_base32ExtensionData", test_base32ExtensionData),
+            ("test_base32ExtensionDataAndString", test_base32ExtensionDataAndString),
+            ("test_base32DecodeStringAcceptableLengthPatterns", test_base32DecodeStringAcceptableLengthPatterns),
+        ]
+    }
+}

+ 18 - 3
Tests/Base32Tests/StringExtensionTests.swift

@@ -41,10 +41,25 @@ class StringExtensionTests: XCTestCase {
     }
 
     func test_dataUsingUTF8StringEncoding() {
-        let emptyString = ""
-        XCTAssertEqual(emptyString.dataUsingUTF8StringEncoding, emptyString.data(using: .utf8, allowLossyConversion: false)!)
-
         let string = "0112233445566778899AABBCCDDEEFFaabbccddeefff"
         XCTAssertEqual(string.dataUsingUTF8StringEncoding, string.data(using: .utf8, allowLossyConversion: false)!)
     }
+
+    func test_dataUsingUTF8StringEncoding_empty() {
+        #if !os(Linux) || (os(Linux) && swift(>=3.1))
+            let emptyString = ""
+            XCTAssertEqual(emptyString.dataUsingUTF8StringEncoding, emptyString.data(using: .utf8, allowLossyConversion: false)!)
+        #else
+            print("\(#function) is skipped because that crashes on Swift 3.0.2 for Linux.")
+        #endif
+    }
+}
+
+extension StringExtensionTests {
+    static var allTests: [(String, (StringExtensionTests) -> () throws -> Void)] {
+        return [
+            ("test_dataUsingUTF8StringEncoding", test_dataUsingUTF8StringEncoding),
+            ("test_dataUsingUTF8StringEncoding_empty", test_dataUsingUTF8StringEncoding_empty),
+        ]
+    }
 }

+ 9 - 0
Tests/LinuxMain.swift

@@ -0,0 +1,9 @@
+import XCTest
+
+@testable import Base32Tests
+
+XCTMain([
+    testCase(Base16Tests.allTests),
+    testCase(Base32Tests.allTests),
+    testCase(StringExtensionTests.allTests)
+    ])