|
1 | 1 | package io.github.typesafegithub.workflows.shared.internal.model
|
2 | 2 |
|
| 3 | +import io.kotest.assertions.assertSoftly |
3 | 4 | import io.kotest.core.spec.style.FunSpec
|
4 | 5 | import io.kotest.matchers.shouldBe
|
5 | 6 |
|
6 | 7 | class VersionTest :
|
7 | 8 | FunSpec({
|
| 9 | + context("parsing") { |
| 10 | + listOf( |
| 11 | + Pair("v1.2.3", Triple(1, 2, 3)), |
| 12 | + Pair("1.2.3", Triple(1, 2, 3)), |
| 13 | + Pair("v1.2.3.4", Triple(1, 2, 4)), |
| 14 | + Pair("1.2.3.4", Triple(1, 2, 4)), |
| 15 | + Pair("v1.2", Triple(1, 2, 2)), |
| 16 | + Pair("v3", Triple(3, 3, 3)), |
| 17 | + Pair("V3", Triple(3, 3, 3)), |
| 18 | + Pair("v3-prerelease", Triple(0, 0, 0)), |
| 19 | + Pair("beta-v3", Triple(0, 0, 0)), |
| 20 | + ).forEach { (string, version) -> |
| 21 | + test("correctly parses $string") { |
| 22 | + val parsedVersion = Version(string) |
| 23 | + assertSoftly { |
| 24 | + parsedVersion.major shouldBe version.first |
| 25 | + parsedVersion.minor shouldBe version.second |
| 26 | + parsedVersion.patch shouldBe version.third |
| 27 | + } |
| 28 | + } |
| 29 | + } |
| 30 | + } |
| 31 | + |
8 | 32 | context("isMajorVersion") {
|
9 | 33 | listOf(
|
10 | 34 | Pair("v1.2.3", false),
|
|
0 commit comments