mirror of
https://github.com/nicoverbruggen/phpmon.git
synced 2025-12-21 11:10:08 +01:00
72 lines
2.1 KiB
Swift
72 lines
2.1 KiB
Swift
//
|
|
// AppVersionTest.swift
|
|
// PHP Monitor
|
|
//
|
|
// Created by Nico Verbruggen on 10/05/2022.
|
|
// Copyright © 2023 Nico Verbruggen. All rights reserved.
|
|
//
|
|
|
|
import Testing
|
|
import Foundation
|
|
|
|
struct AppVersionTest {
|
|
@Test func test_can_parse_normal_version_string() {
|
|
let version = AppVersion.from("1.0.0")
|
|
|
|
#expect(version != nil)
|
|
#expect(version!.version == "1.0.0")
|
|
#expect(version!.build == nil)
|
|
#expect(version!.suffix == nil)
|
|
}
|
|
|
|
@Test func test_can_parse_cask_version_string() {
|
|
let version = AppVersion.from("1.0.0_600")
|
|
|
|
#expect(version != nil)
|
|
#expect(version!.version == "1.0.0")
|
|
#expect(version!.build == 600)
|
|
#expect(version!.suffix == nil)
|
|
}
|
|
|
|
@Test func test_can_parse_dev_version_string_without_build_number() {
|
|
let version = AppVersion.from("1.0.0-dev")
|
|
|
|
#expect(version != nil)
|
|
#expect(version!.version == "1.0.0")
|
|
#expect(version!.build == nil)
|
|
#expect(version!.suffix == "dev")
|
|
}
|
|
|
|
@Test func test_can_parse_dev_version_string_with_build_number() {
|
|
let version = AppVersion.from("1.0.0-dev,870")
|
|
|
|
#expect(version != nil)
|
|
#expect(version!.version == "1.0.0")
|
|
#expect(version!.build == 870)
|
|
#expect(version!.suffix == "dev")
|
|
}
|
|
|
|
@Test func test_can_parse_underscores_as_build_separator() {
|
|
let version = AppVersion.from("1.0.0-dev_870")
|
|
|
|
#expect(version != nil)
|
|
#expect(version!.version == "1.0.0")
|
|
#expect(version!.build == 870)
|
|
#expect(version!.suffix == "dev")
|
|
}
|
|
|
|
@Test func test_can_compare_version_numbers() {
|
|
// Build is newer
|
|
#expect(AppVersion.from("5.0_101")! > AppVersion.from("5.0_100")!)
|
|
|
|
// Version and build is the same
|
|
#expect(AppVersion.from("5.0.0_100")! == AppVersion.from("5.0_100")!)
|
|
|
|
// Version is newer
|
|
#expect(AppVersion.from("5.1_100")! > AppVersion.from("5.0_100")!)
|
|
|
|
// Build is older
|
|
#expect(AppVersion.from("5.0_101")! < AppVersion.from("5.0_102")!)
|
|
}
|
|
}
|