Files
SwiftFormat/Tests/VersionTests.swift
2025-10-04 08:46:46 +01:00

61 lines
1.6 KiB
Swift

//
// VersionTests.swift
// SwiftFormat
//
// Created by Nick Lockwood on 28/01/2019.
// Copyright © 2019 Nick Lockwood. All rights reserved.
//
import XCTest
@testable import SwiftFormat
final class VersionTests: XCTestCase {
// MARK: Version parsing
func testParseEmptyVersion() {
let version = Version(rawValue: "")
XCTAssertNil(version)
}
func testParseOrdinaryVersion() {
let version = Version(rawValue: "4.2")
XCTAssertEqual(version, "4.2")
}
func testParsePaddedVersion() {
let version = Version(rawValue: " 4.2 ")
XCTAssertEqual(version, "4.2")
}
func testParseThreePartVersion() {
let version = Version(rawValue: "3.1.5")
XCTAssertNotNil(version)
XCTAssertEqual(version, "3.1.5")
}
func testParsePreviewVersion() {
let version = Version(rawValue: "3.0-PREVIEW-4")
XCTAssertNotNil(version)
XCTAssertEqual(version, "3.0-PREVIEW-4")
}
func testComparison() {
let version = Version(rawValue: "3.1.5")
XCTAssertLessThan(version ?? "0", "3.2")
XCTAssertGreaterThan(version ?? "0", "3.1.4")
}
func testPreviewComparison() {
let version = Version(rawValue: "3.0-PREVIEW-4")
XCTAssertLessThan(version ?? "0", "4.0")
XCTAssertGreaterThan(version ?? "0", "2.0")
}
func testWildcardVersion() {
let version = Version(rawValue: "3.x")
XCTAssertNotNil(version)
XCTAssertLessThan(version ?? "0", "4.0")
XCTAssertGreaterThan(version ?? "0", "2.0")
}
}