@testable import BrewBar import XCTest final class BrewParserTests: XCTestCase { // MARK: - parseOutdated func testParseOutdated_multiplePackages() { let output = "wget\nffmpeg\ngit\n" XCTAssertEqual(BrewParser.parseOutdated(output), ["wget", "ffmpeg", "git"]) } func testParseOutdated_emptyOutput() { XCTAssertEqual(BrewParser.parseOutdated(""), []) } func testParseOutdated_singlePackage() { XCTAssertEqual(BrewParser.parseOutdated("wget\n"), ["wget"]) } func testParseOutdated_trailingNewlinesIgnored() { let output = "wget\n\n\n" XCTAssertEqual(BrewParser.parseOutdated(output), ["wget"]) } // MARK: - parseVersion func testParseVersion_picksFirstLine() { let output = "Homebrew 4.3.0\nHomebrew/homebrew-core (git revision abc123)\n" XCTAssertEqual(BrewParser.parseVersion(output), "Homebrew 4.3.0") } func testParseVersion_emptyOutput() { XCTAssertEqual(BrewParser.parseVersion(""), "Unknown") } func testParseVersion_singleLine() { XCTAssertEqual(BrewParser.parseVersion("Homebrew 4.3.0"), "Homebrew 4.3.0") } }