mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-08-07 20:10:08 +02:00
♻️ Various refactoring
This commit is contained in:
@ -30,33 +30,12 @@ final class ExtensionEnumeratorTest: XCTestCase {
|
||||
}
|
||||
|
||||
func testCanParseFormulaeBasedOnSyntax() throws {
|
||||
let directory = "\(Paths.tapPath)/shivammathur/homebrew-extensions/Formula"
|
||||
let files = try FileSystem.getShallowContentsOfDirectory(directory)
|
||||
let formulae = BrewTapFormulae.from(tap: "shivammathur/homebrew-extensions")
|
||||
|
||||
// TODO: Put this in a separate class
|
||||
var versionExtensionsMap = [String: Set<String>]()
|
||||
let regex = try! NSRegularExpression(pattern: "(\\w+)@(\\d+\\.\\d+)\\.rb")
|
||||
for file in files {
|
||||
let matches = regex.matches(in: file, range: NSRange(file.startIndex..., in: file))
|
||||
if let match = matches.first {
|
||||
if let phpExtensionRange = Range(match.range(at: 1), in: file),
|
||||
let versionRange = Range(match.range(at: 2), in: file) {
|
||||
let phpExtension = String(file[phpExtensionRange])
|
||||
let version = String(file[versionRange])
|
||||
|
||||
if var extensions = versionExtensionsMap[version] {
|
||||
extensions.insert(phpExtension)
|
||||
versionExtensionsMap[version] = extensions
|
||||
} else {
|
||||
versionExtensionsMap[version] = [phpExtension]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
XCTAssertEqual(versionExtensionsMap["8.1"], Set(["xdebug"]))
|
||||
XCTAssertEqual(versionExtensionsMap["8.2"], Set(["xdebug"]))
|
||||
XCTAssertEqual(versionExtensionsMap["8.3"], Set(["xdebug"]))
|
||||
XCTAssertEqual(versionExtensionsMap["8.4"], Set(["xdebug"]))
|
||||
XCTAssertEqual(formulae["8.1"], Set(["xdebug"]))
|
||||
XCTAssertEqual(formulae["8.2"], Set(["xdebug"]))
|
||||
XCTAssertEqual(formulae["8.3"], Set(["xdebug"]))
|
||||
XCTAssertEqual(formulae["8.4"], Set(["xdebug"]))
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -27,7 +27,7 @@ class HomebrewUpgradableTest: XCTestCase {
|
||||
"7.4": PhpInstallation("7.4.11")
|
||||
]
|
||||
|
||||
let data = await BrewFormulaeHandler().loadPhpVersions(loadOutdated: true)
|
||||
let data = await BrewPhpFormulaeHandler().loadPhpVersions(loadOutdated: true)
|
||||
|
||||
XCTAssertTrue(data.contains(where: { formula in
|
||||
formula.installedVersion == "8.1.16" && formula.upgradeVersion == "8.1.17"
|
||||
|
Reference in New Issue
Block a user