Used kotlin-tests

commit_hash:efae13a0845c5fffb784e9a9fcf593a5b749f700
This commit is contained in:
pkurchatov
2026-05-22 12:01:09 +03:00
parent 603d70c193
commit a18864468b
41 changed files with 170 additions and 205 deletions
@@ -8,7 +8,7 @@ import androidx.compose.ui.test.SemanticsMatcher.Companion.keyIsDefined
import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.hasContentDescription
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.core.net.toUri
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -22,8 +22,8 @@ import com.yandex.div2.Div
import com.yandex.div2.DivAccessibility.Mode
import com.yandex.div2.DivAccessibility.Type
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
@RunWith(AndroidJUnit4::class)
class DivViewAccessibilityTest {
@@ -7,7 +7,7 @@ import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onNodeWithText
import androidx.compose.ui.test.performClick
@@ -20,10 +20,10 @@ import com.yandex.div.test.data.text
import com.yandex.div.test.data.typedValue
import com.yandex.div.test.data.variable
import com.yandex.div2.DivData
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
@RunWith(AndroidJUnit4::class)
class DivViewRecompositionTest {
@@ -38,7 +38,7 @@ class DivViewRecompositionTest {
private lateinit var divContext: DivContext
@Before
@BeforeTest
fun setUp() {
divContext = DivContext(
baseContext = activity,
@@ -1,7 +1,7 @@
package com.yandex.div.compose
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.compose.ui.test.onNodeWithText
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -17,10 +17,10 @@ import com.yandex.div2.Div
import com.yandex.div2.DivData
import com.yandex.div2.DivVariable
import com.yandex.div2.DivVisibility
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivViewTest {
@@ -24,8 +24,8 @@ import com.yandex.div.test.data.variable
import com.yandex.div2.Div
import com.yandex.div2.DivVariable
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
@@ -3,7 +3,7 @@ package com.yandex.div.compose
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.custom.DivCustomEnvironment
@@ -12,10 +12,10 @@ import com.yandex.div.test.data.custom
import com.yandex.div.test.data.data
import com.yandex.div2.Div
import org.json.JSONObject
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivViewWithCustomTest {
@@ -8,7 +8,7 @@ import androidx.compose.ui.test.assert
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.hasTestTag
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.compose.ui.test.onChild
import androidx.compose.ui.test.onNodeWithTag
import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -20,10 +20,10 @@ import com.yandex.div.test.data.text
import com.yandex.div2.Div
import com.yandex.div2.DivExtension
import org.json.JSONObject
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivViewWithExtensionsTest {
@@ -1,7 +1,7 @@
package com.yandex.div.compose
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.core.expression.variables.DivVariableController
@@ -15,8 +15,8 @@ import com.yandex.div2.DivFunction
import com.yandex.div2.DivFunctionArgument
import com.yandex.div2.DivVariable
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
@RunWith(AndroidJUnit4::class)
class DivViewWithFunctionsTest {
@@ -4,7 +4,7 @@ import android.view.View
import androidx.activity.ComponentActivity
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.core.expression.variables.DivVariableController
@@ -22,11 +22,11 @@ import com.yandex.div2.Div
import com.yandex.div2.DivData
import com.yandex.div2.DivTrigger
import com.yandex.div2.DivVariable
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivViewWithTriggersTest {
@@ -41,7 +41,7 @@ class DivViewWithTriggersTest {
private lateinit var divContext: DivContext
@Before
@BeforeTest
fun setUp() {
divContext = DivContext(
baseContext = activity,
@@ -4,7 +4,7 @@ import android.view.View
import androidx.activity.ComponentActivity
import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.junit4.v2.createAndroidComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.internal.DivDebugConfiguration
@@ -22,12 +22,12 @@ import com.yandex.div2.DivActionTyped
import com.yandex.div2.DivData
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.math.min
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivViewWithVisibilityActionsRecompositionTest {
@@ -51,7 +51,7 @@ class DivViewWithVisibilityActionsRecompositionTest {
private lateinit var divContext: DivContext
@Before
@BeforeTest
fun setUp() {
divContext = DivContext(
baseContext = activity,
@@ -2,7 +2,7 @@ package com.yandex.div.compose
import androidx.compose.ui.test.assertIsDisplayed
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.compose.ui.test.onNodeWithTag
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.internal.DivDebugConfiguration
@@ -25,11 +25,11 @@ import com.yandex.div2.DivActionTyped
import com.yandex.div2.DivVariable
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.test.TestScope
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.math.min
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivViewWithVisibilityActionsTest {
@@ -2,7 +2,7 @@ package com.yandex.div.compose
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.core.app.ApplicationProvider.getApplicationContext
import com.yandex.div.core.expression.variables.DivVariableController
import com.yandex.div.test.crossplatform.IntegrationTestCase
@@ -11,9 +11,9 @@ import com.yandex.div.test.crossplatform.IntegrationTestLogger
import com.yandex.div.test.crossplatform.ParsingResult
import com.yandex.div.test.crossplatform.ParsingUtils
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.ParameterizedRobolectricTestRunner
import kotlin.test.Test
@RunWith(ParameterizedRobolectricTestRunner::class)
class IntegrationTest(testCaseParsingResult: ParsingResult<IntegrationTestCase>) {
@@ -1,6 +1,6 @@
package com.yandex.div.compose
import org.junit.Assert.fail
import kotlin.test.fail
class TestReporter : DivReporter() {
private val _errors = mutableListOf<String>()
@@ -11,10 +11,10 @@ import com.yandex.div.test.data.arraySetValueAction
import com.yandex.div.test.data.typedValue
import com.yandex.div2.DivAction
import org.json.JSONArray
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class ArrayActionsHandlerTest {
@@ -26,7 +26,7 @@ class ArrayActionsHandlerTest {
private val variableController: DivVariableController
get() = actionHandlerEnvironment.variableController
@Before
@BeforeTest
fun setUp() {
actionHandlerEnvironment.init(
arrayActionsHandler = ArrayActionsHandler(
@@ -9,10 +9,10 @@ import com.yandex.div.test.data.dictSetValueAction
import com.yandex.div.test.data.typedValue
import com.yandex.div2.DivAction
import org.json.JSONObject
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DictSetValueActionHandlerTest {
@@ -24,7 +24,7 @@ class DictSetValueActionHandlerTest {
private val variableController: DivVariableController
get() = actionHandlerEnvironment.variableController
@Before
@BeforeTest
fun setUp() {
actionHandlerEnvironment.init(
dictSetValueActionHandler = DictSetValueActionHandler(
@@ -8,18 +8,18 @@ import com.yandex.div.test.data.disappearAction
import com.yandex.div.test.data.visibilityAction
import com.yandex.div2.DivAction
import org.json.JSONObject
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
@RunWith(AndroidJUnit4::class)
class DivActionHandlerTest {
private val actionHandlerEnvironment = ActionHandlerEnvironment()
private val externalActionHandler = TestExternalActionHandler()
@Before
@BeforeTest
fun setUp() {
actionHandlerEnvironment.init(
externalActionHandler = externalActionHandler
@@ -10,11 +10,11 @@ import com.yandex.div.test.data.action
import com.yandex.div.test.data.expression
import com.yandex.div.test.data.setStateAction
import com.yandex.div2.DivAction
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
@RunWith(AndroidJUnit4::class)
class SetStateActionHandlerTest {
@@ -31,7 +31,7 @@ class SetStateActionHandlerTest {
private val rootPath = DivStatePath.fromState(0L)
@Before
@BeforeTest
fun setUp() {
actionHandlerEnvironment.init(
setStateActionHandler = SetStateActionHandler(
@@ -11,10 +11,10 @@ import com.yandex.div.test.data.typedColorValue
import com.yandex.div.test.data.typedValue
import com.yandex.div2.DivAction
import org.json.JSONArray
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class SetVariableActionHandlerTest {
@@ -26,7 +26,7 @@ class SetVariableActionHandlerTest {
private val variableController: DivVariableController
get() = actionHandlerEnvironment.variableController
@Before
@BeforeTest
fun setUp() {
actionHandlerEnvironment.init(
setVariableActionHandler = SetVariableActionHandler(
@@ -10,10 +10,10 @@ import com.yandex.div.test.data.updateStructureAction
import com.yandex.div2.DivAction
import org.json.JSONArray
import org.json.JSONObject
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.BeforeTest
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class UpdateStructureActionHandlerTest {
@@ -25,7 +25,7 @@ class UpdateStructureActionHandlerTest {
private val variableController: DivVariableController
get() = actionHandlerEnvironment.variableController
@Before
@BeforeTest
fun setUp() {
actionHandlerEnvironment.init(
updateStructureActionHandler = UpdateStructureActionHandler(
@@ -8,14 +8,14 @@ import kotlinx.coroutines.test.TestScope
import kotlinx.coroutines.test.advanceTimeBy
import kotlinx.coroutines.test.runCurrent
import kotlinx.coroutines.test.runTest
import org.junit.Assert.assertEquals
import org.junit.Assert.assertFalse
import org.junit.Assert.assertTrue
import org.junit.Test
import org.mockito.kotlin.any
import org.mockito.kotlin.doAnswer
import org.mockito.kotlin.eq
import org.mockito.kotlin.mock
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertFalse
import kotlin.test.assertTrue
class VisibilityActionTrackerTest {
private val actionHandlingContext = ActionHandlerEnvironment().context
@@ -5,9 +5,9 @@ import com.yandex.div.compose.createExpressionResolver
import com.yandex.div.core.expression.variables.DivVariableController
import com.yandex.div.data.Variable
import com.yandex.div.test.data.expression
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class DivComposeExpressionResolverTest {
@@ -7,7 +7,7 @@ import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableLongStateOf
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.dagger.LocalComponent
import com.yandex.div.compose.mockLocalComponent
@@ -15,10 +15,10 @@ import com.yandex.div.core.expression.variables.DivVariableController
import com.yandex.div.data.Variable
import com.yandex.div.json.expressions.Expression
import com.yandex.div.test.data.intExpression
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class ExpressionUtilsTest {
@@ -1,33 +1,23 @@
package com.yandex.div.compose.font
import android.content.Context
import android.content.res.AssetManager
import android.graphics.Typeface
import androidx.compose.ui.text.ExperimentalTextApi
import androidx.compose.ui.text.font.FontFamily
import androidx.compose.ui.text.font.FontVariation
import androidx.compose.ui.text.font.FontWeight
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.DivReporter
import java.util.Collections
import java.util.IdentityHashMap
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNotSame
import org.junit.Assert.assertSame
import org.junit.Test
import com.yandex.div.compose.TestReporter
import org.junit.runner.RunWith
import org.mockito.kotlin.any
import org.mockito.kotlin.mock
import org.mockito.kotlin.verify
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNotSame
import kotlin.test.assertSame
@OptIn(ExperimentalTextApi::class)
@RunWith(AndroidJUnit4::class)
class DivFontFamilyCacheTest {
private val assets: AssetManager =
ApplicationProvider.getApplicationContext<Context>().assets
private val reporter: DivReporter = mock()
private val assets = ApplicationProvider.getApplicationContext<Context>().assets
private val reporter = TestReporter()
private val source = DivFontSource.Typeface(Typeface.DEFAULT)
private val cache = DivFontFamilyCache(assets, reporter)
@@ -90,35 +80,14 @@ class DivFontFamilyCacheTest {
assertNotSame(a, b)
}
@Test
fun `cached path deduplicates repeated calls into a single FontFamily instance`() {
val sampleSize = 100
val withCache = identitySet<FontFamily>().apply {
repeat(sampleSize) {
add(cache.getOrCreate(source, FontWeight.Normal, null))
}
}
assertEquals(
"Repeated calls with the same key should collapse to a single shared FontFamily",
1,
withCache.size,
)
}
@Test
fun `each DivFontFamilyCache instance has its own storage`() {
val other = DivFontFamilyCache(assets, reporter)
val otherCache = DivFontFamilyCache(assets, reporter)
val fromCache = cache.getOrCreate(source, FontWeight.Normal, null)
val fromOther = other.getOrCreate(source, FontWeight.Normal, null)
val fromOtherCache = otherCache.getOrCreate(source, FontWeight.Normal, null)
assertNotSame(
"Each DivFontFamilyCache instance is scoped independently",
fromCache,
fromOther,
)
assertNotSame(fromCache, fromOtherCache)
}
@Test
@@ -129,9 +98,9 @@ class DivFontFamilyCacheTest {
FontVariation.Settings(FontVariation.weight(500)),
)
verify(reporter).reportWarning(any())
assertEquals(
"font_variation_settings cannot be applied to a Typeface. Use DivFontSource.Resource or DivFontSource.Asset for variable fonts.",
reporter.lastWarning
)
}
private fun <T> identitySet(): MutableSet<T> =
Collections.newSetFromMap(IdentityHashMap())
}
@@ -7,7 +7,7 @@ import androidx.compose.foundation.Image
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import coil3.ImageLoader
@@ -23,15 +23,15 @@ import coil3.request.SuccessResult
import com.yandex.div.compose.dagger.LocalComponent
import com.yandex.div.compose.internal.NetworkRestorationController
import com.yandex.div.compose.mockLocalComponent
import junit.framework.TestCase.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.Shadows
import org.robolectric.shadows.ShadowConnectivityManager
import org.robolectric.shadows.ShadowNetwork
import java.net.UnknownHostException
import java.util.concurrent.atomic.AtomicInteger
import kotlin.test.Test
import kotlin.test.assertEquals
@RunWith(AndroidJUnit4::class)
class ImageNetworkRestorationTest {
@@ -40,6 +40,7 @@ class ImageNetworkRestorationTest {
val composeRule = createComposeRule()
private val context: Context = ApplicationProvider.getApplicationContext()
private val shadowConnectivityManager: ShadowConnectivityManager = Shadows.shadowOf(
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
)
@@ -4,24 +4,25 @@ import android.content.Context
import android.net.ConnectivityManager
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import junit.framework.TestCase.assertEquals
import junit.framework.TestCase.assertTrue
import kotlinx.coroutines.ExperimentalCoroutinesApi
import kotlinx.coroutines.flow.toList
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.UnconfinedTestDispatcher
import kotlinx.coroutines.test.runTest
import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.Shadows
import org.robolectric.shadows.ShadowConnectivityManager
import org.robolectric.shadows.ShadowNetwork
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
@OptIn(ExperimentalCoroutinesApi::class)
@RunWith(AndroidJUnit4::class)
class NetworkRestorationControllerTest {
private val context: Context = ApplicationProvider.getApplicationContext()
private val shadowConnectivityManager: ShadowConnectivityManager = Shadows.shadowOf(
context.getSystemService(Context.CONNECTIVITY_SERVICE) as ConnectivityManager
)
@@ -2,9 +2,9 @@ package com.yandex.div.compose.pager
import androidx.compose.foundation.gestures.snapping.SnapPosition
import androidx.compose.foundation.lazy.LazyListState
import org.junit.Assert.assertNull
import org.junit.Assert.assertSame
import org.junit.Test
import kotlin.test.Test
import kotlin.test.assertNull
import kotlin.test.assertSame
class DivPagerStateStorageTest {
@@ -4,11 +4,11 @@ import androidx.compose.foundation.gestures.snapping.SnapPosition
import androidx.compose.foundation.lazy.LazyListItemInfo
import androidx.compose.foundation.lazy.LazyListLayoutInfo
import androidx.compose.foundation.lazy.LazyListState
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Test
import org.mockito.kotlin.doReturn
import org.mockito.kotlin.mock
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertTrue
class DivPagerStateTest {
@@ -86,8 +86,8 @@ class DivPagerStateTest {
assertEquals(2, state.currentPage)
assertTrue(
"expected positive fraction, was ${state.currentPageOffsetFraction}",
state.currentPageOffsetFraction > 0f,
"Expected positive fraction, was ${state.currentPageOffsetFraction}"
)
assertEquals(0.4f, state.currentPageOffsetFraction, EPSILON)
}
@@ -2,10 +2,10 @@ package com.yandex.div.compose.state
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.core.state.DivStatePath
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
@RunWith(AndroidJUnit4::class)
class DivStateStorageTest {
@@ -1,5 +1,6 @@
package com.yandex.div.compose.triggers
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.actions.DivActionHandler
import com.yandex.div.compose.actions.DivActionHandlingContext
import com.yandex.div.compose.actions.DivActionSource
@@ -9,16 +10,15 @@ import com.yandex.div.data.Variable
import com.yandex.div.test.data.action
import com.yandex.div.test.data.trigger
import com.yandex.div2.DivTrigger.Mode
import org.junit.Test
import org.junit.runner.RunWith
import org.mockito.kotlin.clearInvocations
import org.mockito.kotlin.mock
import org.mockito.kotlin.verify
import org.mockito.kotlin.verifyNoInteractions
import org.mockito.kotlin.verifyNoMoreInteractions
import org.robolectric.RobolectricTestRunner
import kotlin.test.Test
@RunWith(RobolectricTestRunner::class)
@RunWith(AndroidJUnit4::class)
class DivTriggerStorageTest {
private val actionHandler = mock<DivActionHandler>()
@@ -6,23 +6,22 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.ComposeUiTest
import androidx.compose.ui.test.ExperimentalTestApi
import androidx.compose.ui.test.v2.runComposeUiTest
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.TestReporter
import com.yandex.div.compose.dagger.LocalComponent
import com.yandex.div.compose.mockLocalComponent
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
@OptIn(ExperimentalTestApi::class)
@RunWith(AndroidJUnit4::class)
class DivReporterTest {
@get:Rule
val composeRule = createComposeRule()
private val reporter = TestReporter().apply {
failOnError = false
}
@@ -32,8 +31,8 @@ class DivReporterTest {
)
@Test
fun `reportError() reports error`() {
setContent {
fun `reportError() reports error`() = runComposeUiTest {
setContentWitLocalComponent {
reportError("Error!")
}
@@ -41,8 +40,8 @@ class DivReporterTest {
}
@Test
fun `multiple reportError() calls report multiple errors`() {
setContent {
fun `multiple reportError() calls report multiple errors`() = runComposeUiTest {
setContentWitLocalComponent {
reportError("Error!")
reportError("Error!")
}
@@ -51,8 +50,8 @@ class DivReporterTest {
}
@Test
fun `reportWarning() reports warning`() {
setContent {
fun `reportWarning() reports warning`() = runComposeUiTest {
setContentWitLocalComponent {
reportWarning("Warning!")
}
@@ -60,8 +59,8 @@ class DivReporterTest {
}
@Test
fun `multiple reportWarning() calls report multiple warnings`() {
setContent {
fun `multiple reportWarning() calls report multiple warnings`() = runComposeUiTest {
setContentWitLocalComponent {
reportWarning("Warning!")
reportWarning("Warning!")
}
@@ -70,10 +69,10 @@ class DivReporterTest {
}
@Test
fun `reportError() does not report the same error after recomposition`() {
fun `reportError() does not report the same error after recomposition`() = runComposeUiTest {
var text by mutableStateOf("Initial text")
setContent {
setContentWitLocalComponent {
reportError("Error!")
Text(text = text)
}
@@ -81,29 +80,29 @@ class DivReporterTest {
assertEquals(listOf("Error!"), reporter.popErrors())
text = "New text"
composeRule.waitForIdle()
waitForIdle()
assertNull(reporter.lastError)
}
@Test
fun `reportError() reports error after recomposition if message was changed`() {
fun `reportError() reports error after recomposition if message was changed`() = runComposeUiTest {
var error by mutableStateOf("Error!")
setContent {
setContentWitLocalComponent {
reportError(error)
}
assertEquals(listOf("Error!"), reporter.popErrors())
error = "New error!"
composeRule.waitForIdle()
waitForIdle()
assertEquals("New error!", reporter.lastError)
}
private fun setContent(content: @Composable () -> Unit) {
composeRule.setContent {
private fun ComposeUiTest.setContentWitLocalComponent(content: @Composable () -> Unit) {
setContent {
CompositionLocalProvider(LocalComponent provides localComponent) {
content()
}
@@ -6,18 +6,18 @@ import androidx.compose.runtime.MutableState
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.TestReporter
import com.yandex.div.compose.dagger.LocalComponent
import com.yandex.div.compose.mockLocalComponent
import com.yandex.div.core.expression.variables.DivVariableController
import com.yandex.div.data.Variable
import org.junit.Assert.assertEquals
import org.junit.Assert.assertNull
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
import kotlin.test.assertNull
@RunWith(AndroidJUnit4::class)
class DivVariableMutableStateTest {
@@ -4,7 +4,7 @@ import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.TestReporter
import com.yandex.div.compose.dagger.LocalComponent
@@ -18,10 +18,10 @@ import com.yandex.div.test.data.expression
import com.yandex.div2.DivInputFilter
import com.yandex.div2.DivInputFilterExpression
import com.yandex.div2.DivInputFilterRegex
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@OptIn(DivModelInternalApi::class)
@RunWith(AndroidJUnit4::class)
@@ -3,7 +3,7 @@ package com.yandex.div.compose.views.input
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.mutableStateOf
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.TestReporter
import com.yandex.div.compose.dagger.LocalComponent
@@ -15,10 +15,10 @@ import com.yandex.div.json.expressions.Expression
import com.yandex.div2.DivInputValidator
import com.yandex.div2.DivInputValidatorExpression
import com.yandex.div2.DivInputValidatorRegex
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@OptIn(DivModelInternalApi::class)
@RunWith(AndroidJUnit4::class)
@@ -19,10 +19,10 @@ import com.yandex.div.json.expressions.Expression
import com.yandex.div2.DivCurrencyInputMask
import com.yandex.div2.DivInput
import com.yandex.div2.DivInputMask
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@OptIn(DivModelInternalApi::class)
@RunWith(AndroidJUnit4::class)
@@ -33,6 +33,7 @@ class CurrencyMaskTest {
private val reporter = TestReporter()
private val variableController = DivVariableController()
private val localComponent = mockLocalComponent(
reporter = reporter,
variableController = variableController,
@@ -42,8 +43,7 @@ class CurrencyMaskTest {
private val displayVar = Variable.StringVariable(DISPLAY_VAR, "")
init {
variableController.declare(rawVar)
variableController.declare(displayVar)
variableController.declare(rawVar, displayVar)
}
@Test
@@ -174,9 +174,7 @@ class CurrencyMaskTest {
}
}
}
companion object {
private const val RAW_VAR = "currency_raw"
private const val DISPLAY_VAR = "currency_display"
}
}
private const val RAW_VAR = "currency_raw"
private const val DISPLAY_VAR = "currency_display"
@@ -19,10 +19,10 @@ import com.yandex.div.json.expressions.Expression
import com.yandex.div2.DivFixedLengthInputMask
import com.yandex.div2.DivInput
import com.yandex.div2.DivInputMask
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@OptIn(DivModelInternalApi::class)
@RunWith(AndroidJUnit4::class)
@@ -33,6 +33,7 @@ class FixedLengthMaskTest {
private val reporter = TestReporter()
private val variableController = DivVariableController()
private val localComponent = mockLocalComponent(
reporter = reporter,
variableController = variableController,
@@ -42,8 +43,7 @@ class FixedLengthMaskTest {
private val displayVar = Variable.StringVariable(DISPLAY_VAR, "")
init {
variableController.declare(rawVar)
variableController.declare(displayVar)
variableController.declare(rawVar, displayVar)
}
@Test
@@ -213,9 +213,7 @@ class FixedLengthMaskTest {
}
}
}
companion object {
private const val RAW_VAR = "fixed_raw"
private const val DISPLAY_VAR = "fixed_display"
}
}
private const val RAW_VAR = "fixed_raw"
private const val DISPLAY_VAR = "fixed_display"
@@ -18,10 +18,10 @@ import com.yandex.div.data.Variable
import com.yandex.div2.DivInput
import com.yandex.div2.DivInputMask
import com.yandex.div2.DivPhoneInputMask
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@OptIn(DivModelInternalApi::class)
@RunWith(AndroidJUnit4::class)
@@ -32,6 +32,7 @@ class PhoneMaskTest {
private val reporter = TestReporter()
private val variableController = DivVariableController()
private val localComponent = mockLocalComponent(
reporter = reporter,
variableController = variableController,
@@ -41,8 +42,7 @@ class PhoneMaskTest {
private val displayVar = Variable.StringVariable(DISPLAY_VAR, "")
init {
variableController.declare(rawVar)
variableController.declare(displayVar)
variableController.declare(rawVar, displayVar)
}
@Test
@@ -127,9 +127,7 @@ class PhoneMaskTest {
}
}
}
companion object {
private const val RAW_VAR = "phone_raw"
private const val DISPLAY_VAR = "phone_display"
}
}
private const val RAW_VAR = "phone_raw"
private const val DISPLAY_VAR = "phone_display"
@@ -5,7 +5,7 @@ import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.setValue
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.junit4.v2.createComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.yandex.div.compose.TestReporter
import com.yandex.div.compose.context.LocalDivViewContext
@@ -22,10 +22,10 @@ import com.yandex.div.test.data.constant
import com.yandex.div.test.data.expression
import com.yandex.div.test.data.state
import com.yandex.div2.DivState
import org.junit.Assert.assertEquals
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
import kotlin.test.Test
import kotlin.test.assertEquals
@OptIn(DivModelInternalApi::class)
@RunWith(AndroidJUnit4::class)
+1
View File
@@ -17,6 +17,7 @@ dependencies {
testImplementation libs.androidx.test.core
testImplementation libs.junit
testImplementation libs.kotlin.corountines.test
testImplementation libs.kotlin.test
testImplementation libs.mockito.core
testImplementation libs.mockito.kotlin
testImplementation libs.robolectric
+1 -1
View File
@@ -144,10 +144,10 @@ junit = { module = "junit:junit", version.ref = "junit" }
json = { module = "org.json:json", version.ref = "json" }
kotlin-allopen = { module = "org.jetbrains.kotlin:kotlin-allopen", version.ref = "kotlin" }
kotlin-binaryCompatibilityValidator = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version.ref = "kotlin-binaryCompatibilityValidator" }
kotlin-corountines-android = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-android", version.ref = "kotlin-coroutines" }
kotlin-corountines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlin-coroutines" }
kotlin-corountines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlin-coroutines" }
kotlin-binaryCompatibilityValidator = { module = "org.jetbrains.kotlinx:binary-compatibility-validator", version.ref = "kotlin-binaryCompatibilityValidator" }
kotlin-gradle-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" }
kotlin-reflect = { module = "org.jetbrains.kotlin:kotlin-reflect", version.ref = "kotlin" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
+1 -1
View File
@@ -14,5 +14,5 @@ dependencies {
implementation(libs.androidx.core)
implementation(libs.androidx.coreKtx)
implementation(libs.junit)
implementation(libs.kotlin.test)
}
@@ -11,9 +11,9 @@ import com.yandex.div2.DivData
import com.yandex.div2.DivVariable
import org.json.JSONArray
import org.json.JSONObject
import org.junit.Assert.assertEquals
import org.junit.Assert.assertTrue
import org.junit.Assert.fail
import kotlin.test.assertEquals
import kotlin.test.assertTrue
import kotlin.test.fail
class IntegrationTestCase(
private val name: String,
@@ -42,8 +42,8 @@ class IntegrationTestCase(
class Error(private val message: String) : ExpectedResult {
fun check(errors: List<String>) {
assertTrue(
"Expected: <$message> but was: <${errors.toSet().joinToString(", ")}>",
errors.contains(message)
errors.contains(message),
"Expected: <$message> but was: <${errors.toSet().joinToString(", ")}>"
)
}
}
@@ -6,7 +6,7 @@ import com.yandex.div.internal.parser.TYPE_HELPER_STRING
import com.yandex.div.internal.parser.TypeHelper
import com.yandex.div.json.expressions.Expression
import com.yandex.div2.DivVisibility
import org.junit.Assert.fail
import kotlin.test.fail
fun <T : Any> constant(value: T) = Expression.ConstantExpression(value)