Moved to spek2.

This commit is contained in:
Erik C. Thauvin 2019-04-06 03:36:49 -07:00
parent 23b3a4f204
commit f18ac5976f
3 changed files with 174 additions and 134 deletions

View file

@ -31,19 +31,15 @@
*/ */
package net.thauvin.erik.gradle.semver package net.thauvin.erik.gradle.semver
import org.jetbrains.spek.api.Spek import org.spekframework.spek2.Spek
import org.jetbrains.spek.api.dsl.describe import org.spekframework.spek2.style.specification.describe
import org.jetbrains.spek.api.dsl.given
import org.jetbrains.spek.api.dsl.it
import org.jetbrains.spek.api.dsl.on
import kotlin.test.assertEquals import kotlin.test.assertEquals
import kotlin.test.assertTrue import kotlin.test.assertTrue
@Suppress("unused") @Suppress("unused")
object SemverConfigSpec : Spek({ object SemverConfigSpec : Spek({
describe("config test") { describe("a config") {
given("a config") { val config by memoized { SemverConfig() }
val config = SemverConfig()
val vars = listOf( val vars = listOf(
config.majorKey, config.majorKey,
config.minorKey, config.minorKey,
@ -64,17 +60,21 @@ object SemverConfigSpec : Spek({
SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY, SemverConfig.DEFAULT_BUILDMETA_PREFIX_KEY,
SemverConfig.DEFAULT_SEPARATOR SemverConfig.DEFAULT_SEPARATOR
) )
on("defaults") {
describe("check defaults") {
defaults.forEachIndexed { i, d -> defaults.forEachIndexed { i, d ->
it("should be the same: ${vars[i]}, ${config.keysPrefix}$d") { it("should be the same: ${vars[i]}, ${config.keysPrefix}$d") {
assertEquals(vars[i], "${config.keysPrefix}$d") assertEquals(vars[i], "${config.keysPrefix}$d")
} }
} }
} }
on("should be version.properties") { describe("check version.properties") {
it("should be version.properties") {
assertEquals(config.properties, "version.properties") assertEquals(config.properties, "version.properties")
} }
on("set keys to test.xxx") { }
describe("set keys to test.xxx") {
it("should all start with test.xxx") {
config.keysPrefix = "test." config.keysPrefix = "test."
val keys = listOf( val keys = listOf(
config.majorKey, config.majorKey,
@ -87,9 +87,7 @@ object SemverConfigSpec : Spek({
config.separatorKey) config.separatorKey)
keys.forEach { k -> keys.forEach { k ->
it("should all start with test.xxx: $k") { assertTrue(k.startsWith("test."), "Should be test.$k")
assertTrue(k.startsWith("test."))
}
} }
} }
} }

View file

@ -0,0 +1,47 @@
package net.thauvin.erik.gradle.semver
import org.spekframework.spek2.Spek
import org.spekframework.spek2.style.specification.describe
import java.io.File
import java.nio.file.Files
import java.util.Properties
import kotlin.test.assertEquals
import kotlin.test.assertNull
import kotlin.test.assertTrue
@Suppress("unused")
object SemverPluginSpec : Spek({
describe("a config and version") {
val version by memoized { Version() }
val config by memoized { SemverConfig() }
val configFile = File("test.properties")
config.properties = configFile.name
describe("test save properties") {
it("should save properties") {
SemverPlugin.saveProperties(config, version)
assertTrue(configFile.exists())
}
}
describe("validate the properties file") {
it("verion should be the same") {
val props = Properties().apply {
Files.newInputStream(configFile.toPath()).use { nis ->
load(nis)
configFile.delete()
}
}
assertEquals(props.getProperty(config.majorKey), version.major, "Major")
assertEquals(props.getProperty(config.minorKey), version.minor, "Minor")
assertEquals(props.getProperty(config.patchKey), version.patch, "Patch")
assertEquals(props.getProperty(config.preReleaseKey), version.preRelease, "PreRelease.")
assertNull(props.getProperty(config.preReleasePrefixKey), "PreRelease Prefix")
assertEquals(props.getProperty(config.buildMetaKey), version.buildMeta, "Build Meta")
assertNull(props.getProperty(config.buildMetaPrefixKey), "Build Meta Prefix")
assertNull(props.getProperty(config.separatorKey), "Separator")
}
}
}
})

View file

@ -31,19 +31,15 @@
*/ */
package net.thauvin.erik.gradle.semver package net.thauvin.erik.gradle.semver
import org.jetbrains.spek.api.Spek import org.spekframework.spek2.Spek
import org.jetbrains.spek.api.dsl.describe import org.spekframework.spek2.style.specification.describe
import org.jetbrains.spek.api.dsl.given
import org.jetbrains.spek.api.dsl.it
import org.jetbrains.spek.api.dsl.on
import kotlin.test.assertEquals import kotlin.test.assertEquals
@Suppress("unused") @Suppress("unused")
object SemverVersionSpec : Spek({ object SemverVersionSpec : Spek({
describe("version test") { describe("a version") {
given("a version") {
val version = Version() val version = Version()
on("valdiate default version") { describe("valdiate default version") {
it("major should be 1") { it("major should be 1") {
assertEquals("1", version.major) assertEquals("1", version.major)
} }
@ -72,98 +68,97 @@ object SemverVersionSpec : Spek({
assertEquals("1.0.0", version.semver) assertEquals("1.0.0", version.semver)
} }
} }
on("increment major") { describe("increment major") {
version.increment(isMajor = true)
it("should return 2.0.0") { it("should return 2.0.0") {
version.increment(isMajor = true)
assertEquals("2.0.0", version.semver) assertEquals("2.0.0", version.semver)
} }
} }
on("increment minor") { describe("increment minor") {
version.increment(isMinor = true)
it("should return 2.1.0") { it("should return 2.1.0") {
version.increment(isMinor = true)
assertEquals("2.1.0", version.semver) assertEquals("2.1.0", version.semver)
} }
} }
on("increment patch") { describe("increment patch") {
version.increment(isPatch = true)
it("should return 2.1.1") { it("should return 2.1.1") {
version.increment(isPatch = true)
assertEquals("2.1.1", version.semver) assertEquals("2.1.1", version.semver)
} }
} }
on("increment minor again") { describe("increment minor again") {
version.increment(isMinor = true)
it("should return 2.2.0") { it("should return 2.2.0") {
version.increment(isMinor = true)
assertEquals("2.2.0", version.semver) assertEquals("2.2.0", version.semver)
} }
} }
on("increment major again") { describe("increment major again") {
version.increment(isMajor = true)
it("should return 3.0.0") { it("should return 3.0.0") {
version.increment(isMajor = true)
assertEquals("3.0.0", version.semver) assertEquals("3.0.0", version.semver)
} }
} }
on("increment all") { describe("increment all") {
version.increment(isMajor = true, isMinor = true, isPatch = true)
it("should return 4.1.1") { it("should return 4.1.1") {
version.increment(isMajor = true, isMinor = true, isPatch = true)
assertEquals("4.1.1", version.semver) assertEquals("4.1.1", version.semver)
} }
} }
on("increment major and minor") { describe("increment major and minor") {
version.increment(isMajor = true, isMinor = true)
it("should return 5.1.0") { it("should return 5.1.0") {
version.increment(isMajor = true, isMinor = true)
assertEquals("5.1.0", version.semver) assertEquals("5.1.0", version.semver)
} }
} }
on("increment minor and patch") { describe("increment minor and patch") {
version.increment(isMinor = true, isPatch = true)
it("should return 5.2.1") { it("should return 5.2.1") {
version.increment(isMinor = true, isPatch = true)
assertEquals("5.2.1", version.semver) assertEquals("5.2.1", version.semver)
} }
} }
on("increment nothing") { describe("increment nothing") {
version.increment()
it("should still return 5.2.1") { it("should still return 5.2.1") {
version.increment()
assertEquals("5.2.1", version.semver) assertEquals("5.2.1", version.semver)
} }
} }
on("reset version") { describe("reset version") {
it("should return 1.0.0") {
version.major = "1" version.major = "1"
version.minor = "0" version.minor = "0"
version.patch = "0" version.patch = "0"
it("should return 1.0.0") {
assertEquals("1.0.0", version.semver) assertEquals("1.0.0", version.semver)
} }
} }
on("add prerelease") { describe("add prerelease") {
version.preRelease = "beta"
it("should return 1.0.0-beta") { it("should return 1.0.0-beta") {
version.preRelease = "beta"
assertEquals("1.0.0-beta", version.semver) assertEquals("1.0.0-beta", version.semver)
} }
} }
on("add metadata") { describe("add metadata") {
version.buildMeta = "007"
it("should return 1.0.0-beta+007") { it("should return 1.0.0-beta+007") {
version.buildMeta = "007"
assertEquals("1.0.0-beta+007", version.semver) assertEquals("1.0.0-beta+007", version.semver)
} }
} }
on("change prerelease prefix") { describe("change prerelease prefix") {
version.preReleasePrefix = "--"
it("should return 1.0.0--beta+007") { it("should return 1.0.0--beta+007") {
version.preReleasePrefix = "--"
assertEquals("1.0.0--beta+007", version.semver) assertEquals("1.0.0--beta+007", version.semver)
} }
} }
on("change meta prefix") { describe("change meta prefix") {
version.buildMetaPrefix = "++"
it("should return 1.0.0--beta++007") { it("should return 1.0.0--beta++007") {
version.buildMetaPrefix = "++"
assertEquals("1.0.0--beta++007", version.semver) assertEquals("1.0.0--beta++007", version.semver)
} }
} }
on("change separator") { describe("change separator") {
version.separator = "-"
it("should return 1-0-0--beta++007") { it("should return 1-0-0--beta++007") {
version.separator = "-"
assertEquals("1-0-0--beta++007", version.semver) assertEquals("1-0-0--beta++007", version.semver)
} }
} }
} }
}
}) })