Skip to content

Commit 54a0a49

Browse files
authored
Use Apple approved test format (#11)
1 parent 3ffa48a commit 54a0a49

File tree

3 files changed

+20
-30
lines changed

3 files changed

+20
-30
lines changed

Sources/Base64Kit/Base64.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ extension Base64 {
150150
public static let base64UrlAlphabet = DecodingOptions(rawValue: UInt(1 << 0))
151151
}
152152

153-
public enum DecodingError: Error {
153+
public enum DecodingError: Error, Equatable {
154154
case invalidLength
155155
case invalidCharacter(UInt8)
156156
case unexpectedPaddingCharacter

Tests/Base64KitTests/DecodingTests.swift

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,57 +4,47 @@ import XCTest
44
class DecodingTests: XCTestCase {
55

66
func testDecodeEmptyString() throws {
7-
let decoded = try "".base64decoded()
8-
XCTAssertEqual(decoded.count, 0)
7+
var decoded: [UInt8]?
8+
XCTAssertNoThrow(decoded = try "".base64decoded())
9+
XCTAssertEqual(decoded?.count, 0)
910
}
1011

1112
func testBase64DecodingArrayOfNulls() throws {
1213
let expected = Array(repeating: UInt8(0), count: 10)
13-
let decoded = try "AAAAAAAAAAAAAA==".base64decoded()
14+
var decoded: [UInt8]?
15+
XCTAssertNoThrow(decoded = try "AAAAAAAAAAAAAA==".base64decoded())
1416
XCTAssertEqual(decoded, expected)
1517
}
1618

17-
func testBase64DecodingAllTheBytesSequentially() throws {
19+
func testBase64DecodingAllTheBytesSequentially() {
1820
let base64 = "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w=="
1921

2022
let expected = Array(UInt8(0)...UInt8(255))
21-
let decoded = try base64.base64decoded()
23+
var decoded: [UInt8]?
24+
XCTAssertNoThrow(decoded = try base64.base64decoded())
2225

2326
XCTAssertEqual(decoded, expected)
2427
}
2528

26-
func testBase64UrlDecodingAllTheBytesSequentially() throws {
29+
func testBase64UrlDecodingAllTheBytesSequentially() {
2730
let base64 = "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0-P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn-AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq-wsbKztLW2t7i5uru8vb6_wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy8_T19vf4-fr7_P3-_w=="
2831

2932
let expected = Array(UInt8(0)...UInt8(255))
30-
let decoded = try base64.base64decoded(options: .base64UrlAlphabet)
33+
var decoded: [UInt8]?
34+
XCTAssertNoThrow(decoded = try base64.base64decoded(options: .base64UrlAlphabet))
3135

3236
XCTAssertEqual(decoded, expected)
3337
}
3438

3539
func testBase64DecodingWithPoop() {
36-
do {
37-
_ = try "💩".base64decoded()
38-
XCTFail("This point should not be reached")
39-
}
40-
catch Base64.DecodingError.invalidCharacter(_) {
41-
42-
}
43-
catch {
44-
XCTFail("Unexpected error: \(error)")
40+
XCTAssertThrowsError(_ = try "💩".base64decoded()) { (error) in
41+
XCTAssertEqual(error as? Base64.DecodingError, .invalidCharacter(240))
4542
}
4643
}
4744

4845
func testBase64DecodingWithInvalidLength() {
49-
do {
50-
_ = try "AAAAA".base64decoded()
51-
XCTFail("This point should not be reached")
52-
}
53-
catch Base64.DecodingError.invalidLength {
54-
55-
}
56-
catch {
57-
XCTFail("Unexpected error: \(error)")
46+
XCTAssertThrowsError(_ = try "AAAAA".base64decoded()) { (error) in
47+
XCTAssertEqual(error as? Base64.DecodingError, .invalidLength)
5848
}
5949
}
6050

Tests/Base64KitTests/EncodingTests.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,25 @@ import XCTest
22
@testable import Base64Kit
33

44
class EncodingTests: XCTestCase {
5-
func testEncodeEmptyData() throws {
5+
func testEncodeEmptyData() {
66
let data = [UInt8]()
77
let encodedData = String(base64Encoding: data)
88
XCTAssertEqual(encodedData.count, 0)
99
}
1010

11-
func testBase64EncodingArrayOfNulls() throws {
11+
func testBase64EncodingArrayOfNulls() {
1212
let data = Array(repeating: UInt8(0), count: 10)
1313
let encodedData = String(base64Encoding: data)
1414
XCTAssertEqual(encodedData, "AAAAAAAAAAAAAA==")
1515
}
1616

17-
func testBase64EncodingAllTheBytesSequentially() throws {
17+
func testBase64EncodingAllTheBytesSequentially() {
1818
let data = Array(UInt8(0)...UInt8(255))
1919
let encodedData = String(base64Encoding: data)
2020
XCTAssertEqual(encodedData, "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn+AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq+wsbKztLW2t7i5uru8vb6/wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t/g4eLj5OXm5+jp6uvs7e7v8PHy8/T19vf4+fr7/P3+/w==")
2121
}
2222

23-
func testBase64UrlEncodingAllTheBytesSequentially() throws {
23+
func testBase64UrlEncodingAllTheBytesSequentially() {
2424
let data = Array(UInt8(0)...UInt8(255))
2525
let encodedData = String(base64Encoding: data, options: .base64UrlAlphabet)
2626
XCTAssertEqual(encodedData, "AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8gISIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0-P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9fn-AgYKDhIWGh4iJiouMjY6PkJGSk5SVlpeYmZqbnJ2en6ChoqOkpaanqKmqq6ytrq-wsbKztLW2t7i5uru8vb6_wMHCw8TFxsfIycrLzM3Oz9DR0tPU1dbX2Nna29zd3t_g4eLj5OXm5-jp6uvs7e7v8PHy8_T19vf4-fr7_P3-_w==")

0 commit comments

Comments
 (0)