Navigation Menu

Skip to content

Commit

Permalink
Package._badgeMessage → Package.badgeMessage, update doc strings
Browse files Browse the repository at this point in the history
  • Loading branch information
finestructure committed Jul 6, 2021
1 parent 9163ba4 commit f485a85
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 17 deletions.
27 changes: 14 additions & 13 deletions Sources/App/Controllers/API/Package+Badge.swift
Expand Up @@ -15,9 +15,10 @@ extension Package {
return []
}
}

/// Returns a list of compatible swift versions across a package's significant versions.
/// - Returns: Array of compatible `SwiftVersion`s


/// Returns swift versions compatibility across a package's significant versions.
/// - Returns: A `CompatibilityResult` of `SwiftVersion`
func swiftVersionCompatibility() -> CompatibilityResult<SwiftVersion> {
let allBuilds = allSignificantBuilds()
if allBuilds.allSatisfy { $0.status == .pending } { return .pending }
Expand All @@ -40,8 +41,8 @@ extension Package {
}


/// Returns a list of compatible platforms across a package's significant versions.
/// - Returns: Array of compatible `Platform`s
/// Returns platform compatibility across a package's significant versions.
/// - Returns: A `CompatibilityResult` of `Platform`
func platformCompatibility() -> CompatibilityResult<Build.Platform> {
let allBuilds = allSignificantBuilds()
if allBuilds.allSatisfy { $0.status == .pending } { return .pending }
Expand Down Expand Up @@ -92,23 +93,23 @@ extension Package {
label = "Swift Compatibility"
}

let (message, success) = badgeMessage(badgeType: badgeType)
let (message, compatible) = badgeMessage(badgeType: badgeType)
return Badge(schemaVersion: 1,
label: label,
message: message,
isError: !success,
color: success ? "F05138" : "inactive",
isError: !compatible,
color: compatible ? "F05138" : "inactive",
cacheSeconds: cacheSeconds,
logoSvg: Package.loadSVGLogo())
}


func badgeMessage(badgeType: BadgeType) -> (title: String, success: Bool) {
func badgeMessage(badgeType: BadgeType) -> (message: String, compatible: Bool) {
switch badgeType {
case .platforms:
switch platformCompatibility() {
case .available(let platforms):
if let message = Self._badgeMessage(platforms: platforms) {
if let message = Self.badgeMessage(platforms: platforms) {
return (message, true)
} else {
return ("unavailable", false)
Expand All @@ -119,7 +120,7 @@ extension Package {
case .swiftVersions:
switch swiftVersionCompatibility() {
case .available(let versions):
if let message = Self._badgeMessage(swiftVersions: versions) {
if let message = Self.badgeMessage(swiftVersions: versions) {
return (message, true)
} else {
return ("unavailable", false)
Expand Down Expand Up @@ -150,7 +151,7 @@ extension Package {
}


static func _badgeMessage(platforms: [Build.Platform]) -> String? {
static func badgeMessage(platforms: [Build.Platform]) -> String? {
guard !platforms.isEmpty else { return nil }
struct Value: Hashable {
var index: Int
Expand Down Expand Up @@ -187,7 +188,7 @@ extension Package {
}


static func _badgeMessage(swiftVersions: [SwiftVersion]) -> String? {
static func badgeMessage(swiftVersions: [SwiftVersion]) -> String? {
guard !swiftVersions.isEmpty else { return nil }
return swiftVersions
.map(\.displayName)
Expand Down
8 changes: 4 additions & 4 deletions Tests/AppTests/PackageTests.swift
Expand Up @@ -721,14 +721,14 @@ final class PackageTests: AppTestCase {
}

func test_badgeMessage_swiftVersions() throws {
XCTAssertEqual(Package._badgeMessage(swiftVersions: [.v5_2, .v5_1, .v5_4]), "5.4 | 5.2 | 5.1")
XCTAssertNil(Package._badgeMessage(swiftVersions: []))
XCTAssertEqual(Package.badgeMessage(swiftVersions: [.v5_2, .v5_1, .v5_4]), "5.4 | 5.2 | 5.1")
XCTAssertNil(Package.badgeMessage(swiftVersions: []))
}

func test_badgeMessage_platforms() throws {
XCTAssertEqual(Package._badgeMessage(platforms: [.linux, .ios, .macosXcodebuild, .macosSpm]),
XCTAssertEqual(Package.badgeMessage(platforms: [.linux, .ios, .macosXcodebuild, .macosSpm]),
"iOS | macOS | Linux")
XCTAssertNil(Package._badgeMessage(platforms: []))
XCTAssertNil(Package.badgeMessage(platforms: []))
}

func test_swiftVersionCompatibility() throws {
Expand Down

0 comments on commit f485a85

Please sign in to comment.