diff --git a/core/src/androidTest/java/soup/compose/material/motion/MaterialMotionTest.kt b/core/src/androidTest/java/soup/compose/material/motion/MaterialMotionTest.kt index f5144f7..28f7681 100644 --- a/core/src/androidTest/java/soup/compose/material/motion/MaterialMotionTest.kt +++ b/core/src/androidTest/java/soup/compose/material/motion/MaterialMotionTest.kt @@ -20,7 +20,6 @@ import androidx.compose.foundation.text.BasicText import androidx.compose.runtime.DisposableEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember import androidx.compose.runtime.saveable.rememberSaveable import androidx.compose.runtime.saveable.rememberSaveableStateHolder import androidx.compose.runtime.setValue @@ -28,7 +27,6 @@ import androidx.compose.ui.test.junit4.ComposeContentTestRule import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import org.junit.Assert.assertEquals -import org.junit.Assert.assertTrue import org.junit.Rule import org.junit.Test @@ -47,7 +45,7 @@ abstract class MaterialMotionTest { rule.mainClock.autoAdvance = false rule.setContent { - val showFirst by remember { mutableStateOf(true) } + val showFirst by mutableStateOf(true) MaterialMotion( showFirst, transitionSpec = { transitionSpec(forward = showFirst) }, @@ -121,15 +119,18 @@ abstract class MaterialMotionTest { rule.mainClock.advanceTimeByFrame() // Kick off the animation rule.mainClock.advanceTimeBy(duration.toLong()) + rule.onNodeWithText(First).assertExists() + rule.onNodeWithText(Second).assertDoesNotExist() + rule.runOnUiThread { showFirst = false } - rule.mainClock.advanceTimeBy(duration.toLong()) - rule.mainClock.advanceTimeByFrame() - rule.mainClock.advanceTimeByFrame() // Wait for changes to propagate + // Wait for content to be disposed + rule.mainClock.advanceTimeUntil { disposed } - assertTrue(disposed) + rule.onNodeWithText(First).assertDoesNotExist() + rule.onNodeWithText(Second).assertExists() } @Test diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 08f81c3..037d96c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,13 +1,18 @@ [versions] +gradlePlugin = "8.0.2" +mavenPublish = "0.25.1" +metalava = "0.3.3" + # Kotlin -kotlin = "1.8.22" +kotlin = "1.9.0" +dokka = "1.8.10" # Compose -activity = "1.7.0" +activity = "1.7.2" navigation = "2.7.2" -compose = "1.5.0" -composeCompiler = "1.4.8" +compose = "1.6.0-alpha05" +composeCompiler = "1.5.2" # AndroidX @@ -15,16 +20,16 @@ tracing = "1.1.0" [libraries] -android-pluginGradle = "com.android.tools.build:gradle:8.0.2" -mavenPublish-pluginGradle = "com.vanniktech:gradle-maven-publish-plugin:0.25.1" -metalava-pluginGradle = "me.tylerbwong.gradle.metalava:plugin:0.3.3" +android-pluginGradle = { module = "com.android.tools.build:gradle", version.ref = "gradlePlugin" } +mavenPublish-pluginGradle = { module = "com.vanniktech:gradle-maven-publish-plugin", version.ref = "mavenPublish" } +metalava-pluginGradle = { module = "me.tylerbwong.gradle.metalava:plugin", version.ref = "metalava" } # Kotlin kotlin-pluginGradle = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin" } -dokka-pluginGradle = "org.jetbrains.dokka:dokka-gradle-plugin:1.8.10" +dokka-pluginGradle = { module = "org.jetbrains.dokka:dokka-gradle-plugin", version.ref = "dokka" } # Compose @@ -46,7 +51,7 @@ androidx-tracing = { module = "androidx.tracing:tracing", version.ref = "tracing # Test -androidx-test-core = "androidx.test:core:1.4.0" -androidx-test-rules = "androidx.test:rules:1.4.0" -androidx-test-runner = "androidx.test:runner:1.4.0" +androidx-test-core = "androidx.test:core:1.5.0" +androidx-test-rules = "androidx.test:rules:1.5.0" +androidx-test-runner = "androidx.test:runner:1.5.2" androidx-test-truth = "com.google.truth:truth:1.1.2"