From 1fd8eddee73f00346529e86b17278a76074929da Mon Sep 17 00:00:00 2001 From: Konstantin Aksenov Date: Sun, 7 Jul 2024 15:13:13 +1000 Subject: [PATCH] feat(core): add use unmerged tree to kakao compose test rule --- .../compose/rule/KakaoComposeTestRule.kt | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt b/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt index 1526844f..31bb241d 100644 --- a/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt +++ b/compose/src/main/kotlin/io/github/kakaocup/compose/rule/KakaoComposeTestRule.kt @@ -1,25 +1,28 @@ package io.github.kakaocup.compose.rule -import androidx.compose.ui.test.SemanticsMatcher -import androidx.compose.ui.test.SemanticsNodeInteraction -import androidx.compose.ui.test.SemanticsNodeInteractionCollection import androidx.compose.ui.test.SemanticsNodeInteractionsProvider -import androidx.compose.ui.test.junit4.ComposeContentTestRule import io.github.kakaocup.compose.KakaoCompose import org.junit.rules.TestRule import org.junit.runner.Description import org.junit.runners.model.Statement class KakaoComposeTestRule( - val semanticsProvider: SemanticsNodeInteractionsProvider, + val semanticsProvider: SemanticsNodeInteractionsProvider? = null, + val useUnmergedTree: Boolean? = null ) : TestRule { override fun apply(base: Statement, description: Description): Statement = object : Statement() { override fun evaluate() { - val oldSemanticsProvided = KakaoCompose.Global.semanticsProvider - KakaoCompose.Global.semanticsProvider = semanticsProvider + val preEvaluatedSemanticsProvided = KakaoCompose.Global.semanticsProvider + semanticsProvider?.let { KakaoCompose.Global.semanticsProvider = it } + val preUseUnmergedTree = KakaoCompose.Override.useUnmergedTree + useUnmergedTree?.let { KakaoCompose.Override.useUnmergedTree = it } + base.evaluate() - KakaoCompose.Global.semanticsProvider = oldSemanticsProvided + + KakaoCompose.Global.semanticsProvider = preEvaluatedSemanticsProvided + KakaoCompose.Override.useUnmergedTree = preUseUnmergedTree } } } +