Skip to content

Commit

Permalink
Gradle plugin test for burstValues (#53)
Browse files Browse the repository at this point in the history
Co-authored-by: Jesse Wilson <[email protected]>
  • Loading branch information
swankjesse and squarejesse authored Oct 29, 2024
1 parent a3cb427 commit db602cb
Show file tree
Hide file tree
Showing 5 changed files with 122 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,55 @@ class BurstGradlePluginTest {
}
}

@Test
fun burstValues() {
val projectDir = File("src/test/projects/burstValues")

val taskName = ":lib:test"
val result = createRunner(projectDir, "clean", taskName).build()
assertThat(result.task(taskName)!!.outcome).isIn(*SUCCESS_OUTCOMES)

val testResults = projectDir.resolve("lib/build/test-results")

with(readTestSuite(testResults.resolve("test/TEST-CoffeeTest.xml"))) {
assertThat(testCases.map { it.name }).containsExactlyInAnyOrder(
"test",
"test_12",
"test_16",
)
assertThat(systemOut).isEqualTo(
"""
|set up Decaf
|running Decaf 12
|set up Decaf
|running Decaf 16
|set up Decaf
|running Decaf 8
|
""".trimMargin(),
)
}

with(readTestSuite(testResults.resolve("test/TEST-CoffeeTest_Regular.xml"))) {
assertThat(testCases.map { it.name }).containsExactlyInAnyOrder(
"test",
"test_12",
"test_16",
)
assertThat(systemOut).isEqualTo(
"""
|set up Regular
|running Regular 12
|set up Regular
|running Regular 16
|set up Regular
|running Regular 8
|
""".trimMargin(),
)
}
}

private fun createRunner(
projectDir: File,
vararg taskNames: String,
Expand Down
37 changes: 37 additions & 0 deletions burst-gradle-plugin/src/test/projects/burstValues/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinJvmCompile

buildscript {
repositories {
maven {
url = file("$rootDir/../../../../../build/testMaven").toURI()
}
mavenCentral()
google()
}
dependencies {
classpath("app.cash.burst:burst-gradle-plugin:${project.property("burstVersion")}")
classpath(libs.kotlin.gradlePlugin)
}
}

allprojects {
repositories {
maven {
url = file("$rootDir/../../../../../build/testMaven").toURI()
}
mavenCentral()
google()
}

tasks.withType(JavaCompile::class.java).configureEach {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
}

tasks.withType(KotlinJvmCompile::class.java).configureEach {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_1_8)
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
plugins {
kotlin("jvm")
id("app.cash.burst")
}

dependencies {
testImplementation(kotlin("test"))
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import app.cash.burst.Burst
import app.cash.burst.burstValues
import kotlin.test.BeforeTest
import kotlin.test.Test

@Burst
class CoffeeTest(
private val espresso: String = burstValues("Decaf", "Regular", "Double"),
) {
@BeforeTest
fun setUp() {
println("set up $espresso")
}

@Test
fun test(size: Int = burstValues(8, 12, 16)) {
println("running $espresso $size")
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
dependencyResolutionManagement {
versionCatalogs {
create("libs") {
from(files("../../../../../gradle/libs.versions.toml"))
}
}
}

include(":lib")

0 comments on commit db602cb

Please sign in to comment.