72 lines
2.9 KiB
Kotlin
72 lines
2.9 KiB
Kotlin
/*
|
|
* Copyright (c) 2025 Element Creations Ltd.
|
|
* Copyright 2024, 2025 New Vector Ltd.
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial.
|
|
* Please see LICENSE files in the repository root for full details.
|
|
*/
|
|
|
|
@file:Suppress("DEPRECATION")
|
|
|
|
package base
|
|
|
|
import com.google.testing.junit.testparameterinjector.TestParameterValuesProvider
|
|
import sergio.sastre.composable.preview.scanner.android.AndroidComposablePreviewScanner
|
|
import sergio.sastre.composable.preview.scanner.android.AndroidPreviewInfo
|
|
import sergio.sastre.composable.preview.scanner.core.preview.ComposablePreview
|
|
|
|
// Make sure we don't import Compound previews by mistake
|
|
private val PACKAGE_TREES = arrayOf(
|
|
"io.element.android.features",
|
|
"io.element.android.libraries",
|
|
"io.element.android.services",
|
|
"io.element.android.appicon",
|
|
"io.element.android.appnav",
|
|
"id.databisnis.android.bchot",
|
|
)
|
|
|
|
object ComposablePreviewProvider : TestParameterValuesProvider() {
|
|
val values: List<IndexedValue<ComposablePreview<AndroidPreviewInfo>>> by lazy {
|
|
AndroidComposablePreviewScanner()
|
|
.scanPackageTrees(*PACKAGE_TREES)
|
|
.getPreviews()
|
|
.filter { composablePreview -> composablePreview.methodName.endsWith("A11yPreview").not() }
|
|
.withIndex()
|
|
.toList()
|
|
}
|
|
|
|
override fun provideValues(context: Context): List<IndexedValue<ComposablePreview<AndroidPreviewInfo>>> = values
|
|
}
|
|
|
|
object ComposableA11yPreviewProvider : TestParameterValuesProvider() {
|
|
private val values: List<ComposablePreview<AndroidPreviewInfo>> by lazy {
|
|
AndroidComposablePreviewScanner()
|
|
.scanPackageTrees(*PACKAGE_TREES)
|
|
.getPreviews()
|
|
.filter { composablePreview -> composablePreview.methodName.endsWith("A11yPreview") }
|
|
.toList()
|
|
}
|
|
|
|
override fun provideValues(context: Context): List<ComposablePreview<AndroidPreviewInfo>> = values
|
|
}
|
|
|
|
object Shard1ComposablePreviewProvider : TestParameterValuesProvider() {
|
|
override fun provideValues(context: Context): List<ComposablePreview<AndroidPreviewInfo>> =
|
|
ComposablePreviewProvider.values.filter { it.index % 4 == 0 }.map { it.value }
|
|
}
|
|
|
|
object Shard2ComposablePreviewProvider : TestParameterValuesProvider() {
|
|
override fun provideValues(context: Context): List<ComposablePreview<AndroidPreviewInfo>> =
|
|
ComposablePreviewProvider.values.filter { it.index % 4 == 1 }.map { it.value }
|
|
}
|
|
|
|
object Shard3ComposablePreviewProvider : TestParameterValuesProvider() {
|
|
override fun provideValues(context: Context): List<ComposablePreview<AndroidPreviewInfo>> =
|
|
ComposablePreviewProvider.values.filter { it.index % 4 == 2 }.map { it.value }
|
|
}
|
|
|
|
object Shard4ComposablePreviewProvider : TestParameterValuesProvider() {
|
|
override fun provideValues(context: Context): List<ComposablePreview<AndroidPreviewInfo>> =
|
|
ComposablePreviewProvider.values.filter { it.index % 4 == 3 }.map { it.value }
|
|
}
|