|
|
@@ -18,23 +18,23 @@ class RabbitTests: XCTestCase {
|
|
|
override func tearDown() {
|
|
|
super.tearDown()
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
func testInitialization() {
|
|
|
var key = Array<UInt8>(repeating: 0, count: Rabbit.keySize - 1)
|
|
|
var iv: Array<UInt8>?
|
|
|
- XCTAssertNil(Rabbit(key: key, iv: iv))
|
|
|
-
|
|
|
+ XCTAssertThrowsError(try Rabbit(key: key, iv: iv))
|
|
|
+
|
|
|
key = Array<UInt8>(repeating: 0, count: Rabbit.keySize + 1)
|
|
|
- XCTAssertNil(Rabbit(key: key, iv: iv))
|
|
|
+ XCTAssertThrowsError(try Rabbit(key: key, iv: iv))
|
|
|
|
|
|
key = Array<UInt8>(repeating: 0, count: Rabbit.keySize)
|
|
|
- XCTAssertNotNil(Rabbit(key: key, iv: iv))
|
|
|
+ XCTAssertNotNil(try Rabbit(key: key, iv: iv))
|
|
|
|
|
|
iv = Array<UInt8>(repeating: 0, count: Rabbit.ivSize - 1)
|
|
|
- XCTAssertNil(Rabbit(key: key, iv: iv))
|
|
|
+ XCTAssertThrowsError(try Rabbit(key: key, iv: iv))
|
|
|
|
|
|
iv = Array<UInt8>(repeating: 0, count: Rabbit.ivSize)
|
|
|
- XCTAssertNotNil(Rabbit(key: key, iv: iv))
|
|
|
+ XCTAssertNotNil(try Rabbit(key: key, iv: iv))
|
|
|
}
|
|
|
|
|
|
func testRabbitWithoutIV() {
|
|
|
@@ -71,7 +71,7 @@ class RabbitTests: XCTestCase {
|
|
|
|
|
|
let plainText = Array<UInt8>(repeating: 0, count: 48)
|
|
|
for (key, expectedCipher) in cases {
|
|
|
- let rabbit = Rabbit(key: key)!
|
|
|
+ let rabbit = try! Rabbit(key: key)
|
|
|
let cipherText = rabbit.encrypt(plainText)
|
|
|
XCTAssertEqual(cipherText, expectedCipher)
|
|
|
XCTAssertEqual(rabbit.decrypt(cipherText), plainText)
|
|
|
@@ -110,7 +110,7 @@ class RabbitTests: XCTestCase {
|
|
|
|
|
|
let plainText = Array<UInt8>(repeating: 0, count: 48)
|
|
|
for (iv, expectedCipher) in cases {
|
|
|
- let rabbit = Rabbit(key: key, iv: iv)!
|
|
|
+ let rabbit = try! Rabbit(key: key, iv: iv)
|
|
|
let cipherText = rabbit.encrypt(plainText)
|
|
|
XCTAssertEqual(cipherText, expectedCipher)
|
|
|
XCTAssertEqual(rabbit.decrypt(cipherText), plainText)
|
|
|
@@ -122,9 +122,9 @@ class RabbitTests: XCTestCase {
|
|
|
let iv: Array<UInt8> = Array<UInt8>(repeating: 0, count: Rabbit.ivSize)
|
|
|
let message = Array<UInt8>(repeating: 7, count: (1024 * 1024) * 1)
|
|
|
measureMetrics([XCTPerformanceMetric_WallClockTime], automaticallyStartMeasuring: true, for: { () -> Void in
|
|
|
- let encrypted = Rabbit(key: key, iv: iv)?.encrypt(message)
|
|
|
+ let encrypted = try! Rabbit(key: key, iv: iv).encrypt(message)
|
|
|
self.stopMeasuring()
|
|
|
- XCTAssert(encrypted != nil, "not encrypted")
|
|
|
+ XCTAssert(!encrypted.isEmpty, "not encrypted")
|
|
|
})
|
|
|
}
|
|
|
}
|