1
0
mirror of https://github.com/nicoverbruggen/phpmon.git synced 2025-08-07 03:50:08 +02:00

Fix tests related to version number parsing

This commit is contained in:
2023-01-05 17:58:55 +01:00
parent 67e8589834
commit d854dee2a1
3 changed files with 34 additions and 31 deletions

View File

@ -11,18 +11,23 @@ import XCTest
class PhpVersionDetectionTest: XCTestCase {
func test_can_detect_valid_php_versions() async throws {
let outcome = await PhpEnv.shared.extractPhpVersions(from: [
"", // empty lines should be omitted
"php@8.0",
"php@8.0", // should only be detected once
"meta-php@8.0", // should be omitted, invalid
"php@8.0-coolio", // should be omitted, invalid
"php@7.0",
"",
"unrelatedphp@1.0", // should be omitted, invalid
"php@5.6",
"php@5.4" // should be omitted, not supported
], checkBinaries: false, generateHelpers: false)
let outcome = await PhpEnv.shared.extractPhpVersions(
from: [
"", // empty lines should be omitted
"php@8.0",
"php@8.0", // should only be detected once
"meta-php@8.0", // should be omitted, invalid
"php@8.0-coolio", // should be omitted, invalid
"php@7.0",
"",
"unrelatedphp@1.0", // should be omitted, invalid
"php@5.6", // should be omitted, not supported
"php@5.4" // should be omitted, not supported
],
supported: ["7.0", "8.0", "8.1", "8.2"],
checkBinaries: false,
generateHelpers: false
)
XCTAssertEqual(outcome, ["8.0", "7.0"])
}

View File

@ -13,33 +13,33 @@ class PhpVersionNumberTest: XCTestCase {
func test_can_deconstruct_php_version() throws {
XCTAssertEqual(
try! PhpVersionNumber.parse("PHP 8.2.0-dev"),
PhpVersionNumber(major: 8, minor: 2, patch: 0)
try! VersionNumber.parse("PHP 8.2.0-dev"),
VersionNumber(major: 8, minor: 2, patch: 0)
)
XCTAssertEqual(
try! PhpVersionNumber.parse("PHP 8.1.0RC5-dev"),
PhpVersionNumber(major: 8, minor: 1, patch: 0)
try! VersionNumber.parse("PHP 8.1.0RC5-dev"),
VersionNumber(major: 8, minor: 1, patch: 0)
)
XCTAssertEqual(
try! PhpVersionNumber.parse("8.0.11"),
PhpVersionNumber(major: 8, minor: 0, patch: 11)
try! VersionNumber.parse("8.0.11"),
VersionNumber(major: 8, minor: 0, patch: 11)
)
XCTAssertEqual(
try! PhpVersionNumber.parse("7.4.2"),
PhpVersionNumber(major: 7, minor: 4, patch: 2)
try! VersionNumber.parse("7.4.2"),
VersionNumber(major: 7, minor: 4, patch: 2)
)
XCTAssertEqual(
try! PhpVersionNumber.parse("7.4"),
PhpVersionNumber(major: 7, minor: 4, patch: nil)
try! VersionNumber.parse("7.4"),
VersionNumber(major: 7, minor: 4, patch: nil)
)
XCTAssertEqual(
PhpVersionNumber.make(from: "7"),
VersionNumber.make(from: "7"),
nil
)
}
func test_php_version_number_parse() throws {
XCTAssertThrowsError(try PhpVersionNumber.parse("OOF")) { error in
XCTAssertThrowsError(try VersionNumber.parse("OOF")) { error in
XCTAssertTrue(error is VersionParseError)
}
}