Implemented the TerminalService service for the library target
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import ColibriLibrary
|
||||
import Foundation
|
||||
|
||||
final class TerminalServiceSpy {
|
||||
|
||||
// MARK: Properties
|
||||
|
||||
private(set) var actions: [Action] = []
|
||||
|
||||
}
|
||||
|
||||
// MARK: - TerminalServicing
|
||||
|
||||
extension TerminalServiceSpy: TerminalServicing {
|
||||
|
||||
// MARK: Functions
|
||||
|
||||
@discardableResult
|
||||
func run(_ executableURL: URL, arguments: [String]) async throws(TerminalServiceError) -> String {
|
||||
actions.append(.ran(executableURL, arguments))
|
||||
|
||||
return .content
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// MARK: - Actions
|
||||
|
||||
extension TerminalServiceSpy {
|
||||
enum Action: Equatable {
|
||||
case ran(_ executableURL: URL, _ arguments: [String])
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - String+Constants
|
||||
|
||||
private extension String {
|
||||
static let content = ""
|
||||
}
|
||||
Reference in New Issue
Block a user