Moved to spek2.
This commit is contained in:
parent
23b3a4f204
commit
f18ac5976f
3 changed files with 174 additions and 134 deletions
|
@ -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."))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
|
@ -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)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue