Skip to content

Commit 0c4003a

Browse files
committed
Extract the JUnit5 part of PlugHarness into its own thing.
1 parent 268d59e commit 0c4003a

3 files changed

Lines changed: 23 additions & 24 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.diffplug.atplug
2+
3+
import org.junit.jupiter.api.extension.AfterEachCallback
4+
import org.junit.jupiter.api.extension.BeforeEachCallback
5+
import org.junit.jupiter.api.extension.ExtensionContext
6+
7+
class AtPlugJUnit5(private val harness: PlugHarness) : BeforeEachCallback, AfterEachCallback {
8+
private var openHarness: AutoCloseable? = null
9+
10+
override fun beforeEach(context: ExtensionContext) {
11+
assert(openHarness == null)
12+
openHarness = harness.start()
13+
}
14+
15+
override fun afterEach(context: ExtensionContext) {
16+
openHarness!!.close()
17+
openHarness = null
18+
}
19+
}

atplug-test-harness/src/main/java/com/diffplug/atplug/PlugHarness.kt

Lines changed: 2 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,9 @@
77
package com.diffplug.atplug
88

99
import java.lang.AutoCloseable
10-
import org.junit.jupiter.api.extension.AfterEachCallback
11-
import org.junit.jupiter.api.extension.BeforeEachCallback
12-
import org.junit.jupiter.api.extension.ExtensionContext
1310

1411
/** Creates a harness for local plugin setup. */
15-
class PlugHarness : BeforeEachCallback, AfterEachCallback {
12+
class PlugHarness {
1613
var map = PlugInstanceMap()
1714

1815
fun <T> add(clazz: Class<T>, instance: T): PlugHarness {
@@ -26,22 +23,5 @@ class PlugHarness : BeforeEachCallback, AfterEachCallback {
2623
return AutoCloseable { PlugRegistry.setHarness(null) }
2724
}
2825

29-
private var openHarness: AutoCloseable? = null
30-
31-
override fun beforeEach(context: ExtensionContext) {
32-
assert(openHarness == null)
33-
openHarness = start()
34-
}
35-
36-
override fun afterEach(context: ExtensionContext) {
37-
openHarness!!.close()
38-
openHarness = null
39-
}
40-
41-
companion object {
42-
@JvmStatic
43-
fun create(): PlugHarness {
44-
return PlugHarness()
45-
}
46-
}
26+
fun junit5beforeAfterEach() = AtPlugJUnit5(this)
4727
}

build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ allprojects {
1212
apply from: 干.file('spotless/freshmark.gradle')
1313
apply from: 干.file('base/sonatype.gradle')
1414

15-
String VER_JUNIT_JUPITER = '5.8.2'
15+
String VER_JUNIT_JUPITER = '5.0.0'
1616
subprojects {
1717
apply from: 干.file('base/java8.gradle')
1818
apply from: 干.file('base/kotlin.gradle')
@@ -36,7 +36,7 @@ subprojects {
3636
} else if (it.name == 'atplug-test-harness') {
3737
ext.maven_name='AtPlug test harness'
3838
dependencies {
39-
api "org.junit.jupiter:junit-jupiter-api:${VER_JUNIT_JUPITER}"
39+
compileOnly "org.junit.jupiter:junit-jupiter-api:${VER_JUNIT_JUPITER}"
4040
implementation "org.jetbrains.kotlin:kotlin-reflect:1.6.10"
4141
implementation project(':atplug-runtime')
4242
}

0 commit comments

Comments
 (0)