[Gradle] Add tests for KotlinPluginLifecycle.Stage utils
^KT-34662 Verification Pending
This commit is contained in:
committed by
Space Team
parent
d277502237
commit
32e05b4631
+3
-1
@@ -305,9 +305,11 @@ internal interface KotlinPluginLifecycle {
|
||||
val previousOrNull: Stage? get() = values.getOrNull(ordinal - 1)
|
||||
val nextOrNull: Stage? get() = values.getOrNull(ordinal + 1)
|
||||
val nextOrLast: Stage get() = nextOrNull ?: values.last()
|
||||
val nextOrThrow: Stage get() = values[ordinal + 1]
|
||||
val nextOrThrow: Stage
|
||||
get() = nextOrNull ?: throw IllegalArgumentException("'$this' does not have a next ${Stage::class.simpleName}")
|
||||
|
||||
operator fun rangeTo(other: Stage): Set<Stage> {
|
||||
if (this.ordinal > other.ordinal) return emptySet()
|
||||
return values.subList(this.ordinal, other.ordinal + 1).toSet()
|
||||
}
|
||||
|
||||
|
||||
+26
@@ -349,4 +349,30 @@ class KotlinPluginLifecycleTest {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test - Stage - previous next utils`() {
|
||||
assertNull(Stage.values.first().previousOrNull)
|
||||
assertEquals(Stage.values.first(), Stage.values.first().previousOrFirst)
|
||||
|
||||
assertNull(Stage.values.last().nextOrNull)
|
||||
assertEquals(Stage.values.last(), Stage.values.last().nextOrLast)
|
||||
|
||||
assertFailsWith<IllegalArgumentException> { Stage.values.last().nextOrThrow }
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `test - Stage - range utils`() {
|
||||
assertEquals(setOf(BeforeFinaliseDsl, FinaliseDsl, AfterFinaliseDsl), BeforeFinaliseDsl..AfterFinaliseDsl)
|
||||
assertEquals(emptySet(), AfterFinaliseDsl..BeforeFinaliseDsl)
|
||||
assertEquals(setOf(BeforeFinaliseDsl), BeforeFinaliseDsl..BeforeFinaliseDsl)
|
||||
|
||||
assertTrue(FinaliseDsl in Stage.upTo(FinaliseDsl))
|
||||
assertTrue(Stage.values.first() in Stage.upTo(FinaliseDsl))
|
||||
assertTrue(BeforeFinaliseDsl in Stage.upTo(FinaliseDsl))
|
||||
assertTrue(FinaliseDsl.nextOrThrow !in Stage.upTo(FinaliseDsl))
|
||||
|
||||
assertTrue(FinaliseDsl !in Stage.until(FinaliseDsl))
|
||||
assertTrue(FinaliseDsl.previousOrFirst in Stage.until(FinaliseDsl))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user