Skip to content

Commit

Permalink
Refactor tests and add more SwiftPackageUpdateTests
Browse files Browse the repository at this point in the history
  • Loading branch information
Nef10 committed May 30, 2021
1 parent e956165 commit 0bcdc21
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 37 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ struct SwiftPackageUpdate {
return output
} catch {
let error = error as! ShellOutError // swiftlint:disable:this force_cast
throw PackageDescriptionError.loadingFailed(error.message)
throw SwiftPackageUpdateError.loadingFailed(error.message)
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,18 @@ extension XCTestCase {
return folder
}

func createEmptySwiftPackage() -> URL {
let folder = emptyFolderURL()
let packageSwift = temporaryFileURL(in: folder, name: "Package.swift")
createFile(at: packageSwift, content: TestUtils.emptyPackageSwiftFileContent)
let packageResolved = temporaryFileURL(in: folder, name: "Package.resolved")
createFile(at: packageResolved, content: TestUtils.emptyPackageResolvedFileContent)
let sourceFile = temporaryFileURL(in: folder.appendingPathComponent("Sources/Name"), name: "Name.swift")
createFile(at: sourceFile, content: "")

return folder
}

func assert<T, E: Error & Equatable>(_ expression: @autoclosure () throws -> T, throws expectedError: E, in file: StaticString = #file, line: UInt = #line) {
var caughtError: Error?

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -266,16 +266,4 @@ class GitHubCommandTests: XCTestCase {
enforceOrder: true)
}

func createEmptySwiftPackage() -> URL {
let folder = emptyFolderURL()
let packageSwift = temporaryFileURL(in: folder, name: "Package.swift")
createFile(at: packageSwift, content: TestUtils.emptyPackageSwiftFileContent)
let packageResolved = temporaryFileURL(in: folder, name: "Package.resolved")
createFile(at: packageResolved, content: TestUtils.emptyPackageResolvedFileContent)
let sourceFile = temporaryFileURL(in: folder.appendingPathComponent("Sources/Name"), name: "Name.swift")
createFile(at: sourceFile, content: "")

return folder
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,4 @@ class ListCommandTests: XCTestCase {
XCTAssertEqual(result.output, "No dependencies found.")
}

func createEmptySwiftPackage() -> URL {
let folder = emptyFolderURL()
let packageSwift = temporaryFileURL(in: folder, name: "Package.swift")
createFile(at: packageSwift, content: TestUtils.emptyPackageSwiftFileContent)
let packageResolved = temporaryFileURL(in: folder, name: "Package.resolved")
createFile(at: packageResolved, content: TestUtils.emptyPackageResolvedFileContent)
let sourceFile = temporaryFileURL(in: folder.appendingPathComponent("Sources/Name"), name: "Name.swift")
createFile(at: sourceFile, content: "")

return folder
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -55,16 +55,4 @@ class UpdateCommandTests: XCTestCase {
XCTAssertEqual(result.output, "Everything is already up-to-date!")
}

func createEmptySwiftPackage() -> URL {
let folder = emptyFolderURL()
let packageSwift = temporaryFileURL(in: folder, name: "Package.swift")
createFile(at: packageSwift, content: TestUtils.emptyPackageSwiftFileContent)
let packageResolved = temporaryFileURL(in: folder, name: "Package.resolved")
createFile(at: packageResolved, content: TestUtils.emptyPackageResolvedFileContent)
let sourceFile = temporaryFileURL(in: folder.appendingPathComponent("Sources/Name"), name: "Name.swift")
createFile(at: sourceFile, content: "")

return folder
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,17 @@ class SwiftPackageUpdateTests: XCTestCase {
Rainbow.enabled = originalValue
}

func testCheckUpdatesEmptyFolder() {
let folder = emptyFolderURL()
assert(
try SwiftPackageUpdate.checkUpdates(in: folder),
throws: SwiftPackageUpdateError.loadingFailed("error: root manifest not found")
)
}

func testCheckUpdatesEmptySwiftPackage() {
let folder = createEmptySwiftPackage()
XCTAssert(try! SwiftPackageUpdate.checkUpdates(in: folder).isEmpty)
}

}

0 comments on commit 0bcdc21

Please sign in to comment.