Files
openclaw/apps/macos/Tests/OpenClawIPCTests/SemverTests.swift
Peter Steinberger 88c563b241 fix: address update-card review findings (channel normalization, hidden-nav affordance, prerelease pinning, policy-aware bridge) (#104316)
* fix(mac): prerelease-exact launch resolution and policy-aware update ownership

* fix(ui): keep update affordance when nav is hidden and fall back on native decline

* chore(i18n): sync native inventory
2026-07-11 01:44:26 -07:00

43 lines
1.4 KiB
Swift

import Testing
@testable import OpenClaw
struct SemverTests {
@Test func `comparison orders by major minor patch`() {
let a = Semver(major: 1, minor: 0, patch: 0)
let b = Semver(major: 1, minor: 1, patch: 0)
let c = Semver(major: 1, minor: 1, patch: 1)
let d = Semver(major: 2, minor: 0, patch: 0)
#expect(a < b)
#expect(b < c)
#expect(c < d)
#expect(d > a)
}
@Test func `description matches parts`() {
let v = Semver(major: 3, minor: 2, patch: 1)
#expect(v.description == "3.2.1")
}
@Test func `expected prerelease pins require exact raw version`() {
#expect(Semver.satisfiesExpectedGatewayVersion(
installed: "2026.7.2-beta.1",
expected: "2026.7.2-beta.1"))
#expect(!Semver.satisfiesExpectedGatewayVersion(
installed: "2026.7.2",
expected: "2026.7.2-beta.1"))
#expect(!Semver.satisfiesExpectedGatewayVersion(
installed: "2026.7.2-beta.1",
expected: "2026.7.2"))
#expect(Semver.satisfiesExpectedGatewayVersion(
installed: "2026.7.3",
expected: "2026.7.2"))
#expect(!Semver.satisfiesExpectedGatewayVersion(
installed: "2026.7.2-rc.1",
expected: "2026.7.2"))
#expect(Semver.satisfiesExpectedGatewayVersion(
installed: "2026.7.2+build-foo",
expected: "2026.7.2"))
}
}