Browse Source

Merge pull request #2193 from element-hq/feature/bma/sxcludePreviewFromCodeCoverage

Exclude preview from code coverage
pull/2220/head
Benoit Marty 8 months ago committed by GitHub
parent
commit
57b2a0d17b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      app/build.gradle.kts
  2. 5
      features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/components/SearchMultipleUsersResultItem.kt
  3. 5
      features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/components/SearchSingleUserResultItem.kt
  4. 20
      features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/LogoutViewTest.kt
  5. 21
      libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/coverage/ExcludeFromCoverage.kt
  6. 6
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt
  7. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledCheckbox.kt
  8. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ProgressDialog.kt
  9. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCategory.kt
  10. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCheckbox.kt
  11. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceDivider.kt
  12. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceRow.kt
  13. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSlide.kt
  14. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSwitch.kt
  15. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt
  16. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/CircularProgressIndicator.kt
  17. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/DropdownMenuItem.kt
  18. 6
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/FloatingActionButton.kt
  19. 7
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/HorizontalDivider.kt
  20. 6
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt
  21. 6
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconButton.kt
  22. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconToggleButton.kt
  23. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/LinearProgressIndicator.kt
  24. 8
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/MediumTopAppBar.kt
  25. 2
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheet.kt
  26. 2
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheetLayout.kt
  27. 2
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/OutlinedTextField.kt
  28. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/RadioButton.kt
  29. 5
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt
  30. 6
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Surface.kt
  31. 2
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Text.kt
  32. 2
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt
  33. 8
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TopAppBar.kt
  34. 2
      libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/previews/DatePickerPreview.kt
  35. 6
      tests/testutils/src/main/kotlin/io/element/android/tests/testutils/SemanticsNodeInteractionsProviderExtensions.kt

2
app/build.gradle.kts

@ -288,6 +288,8 @@ koverReport { @@ -288,6 +288,8 @@ koverReport {
"io.element.android.libraries.designsystem.theme.components.bottomsheet.*",
)
annotatedBy(
"androidx.compose.ui.tooling.preview.Preview",
"io.element.android.libraries.architecture.coverage.ExcludeFromCoverage",
"io.element.android.libraries.designsystem.preview.PreviewsDayNight",
"io.element.android.libraries.designsystem.preview.PreviewWithLargeHeight",
)

5
features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/components/SearchMultipleUsersResultItem.kt

@ -57,10 +57,7 @@ fun SearchMultipleUsersResultItem( @@ -57,10 +57,7 @@ fun SearchMultipleUsersResultItem(
@Preview
@Composable
internal fun SearchMultipleUsersResultItemPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun SearchMultipleUsersResultItemPreview() = ElementThemedPreview {
Column {
SearchMultipleUsersResultItem(
searchResult = UserSearchResult(

5
features/createroom/impl/src/main/kotlin/io/element/android/features/createroom/impl/components/SearchSingleUserResultItem.kt

@ -53,10 +53,7 @@ fun SearchSingleUserResultItem( @@ -53,10 +53,7 @@ fun SearchSingleUserResultItem(
@Preview
@Composable
internal fun SearchSingleUserResultItemPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun SearchSingleUserResultItemPreview() = ElementThemedPreview {
Column {
SearchSingleUserResultItem(
searchResult = UserSearchResult(aMatrixUser(), isUnresolved = false),

20
features/logout/impl/src/test/kotlin/io/element/android/features/logout/impl/LogoutViewTest.kt

@ -20,6 +20,7 @@ import androidx.activity.ComponentActivity @@ -20,6 +20,7 @@ import androidx.activity.ComponentActivity
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.test.ext.junit.runners.AndroidJUnit4
import io.element.android.libraries.architecture.AsyncAction
import io.element.android.libraries.testtags.TestTags
import io.element.android.libraries.ui.strings.CommonStrings
import io.element.android.tests.testutils.EnsureNeverCalled
import io.element.android.tests.testutils.EnsureNeverCalledWithParam
@ -28,6 +29,7 @@ import io.element.android.tests.testutils.clickOn @@ -28,6 +29,7 @@ import io.element.android.tests.testutils.clickOn
import io.element.android.tests.testutils.ensureCalledOnce
import io.element.android.tests.testutils.ensureCalledOnceWithParam
import io.element.android.tests.testutils.pressBack
import io.element.android.tests.testutils.pressTag
import org.junit.Rule
import org.junit.Test
import org.junit.runner.RunWith
@ -53,6 +55,24 @@ class LogoutViewTest { @@ -53,6 +55,24 @@ class LogoutViewTest {
eventsRecorder.assertSingle(LogoutEvents.Logout(false))
}
@Test
fun `confirming logout sends a LogoutEvents`() {
val eventsRecorder = EventsRecorder<LogoutEvents>()
rule.setContent {
LogoutView(
aLogoutState(
logoutAction = AsyncAction.Confirming,
eventSink = eventsRecorder
),
onChangeRecoveryKeyClicked = EnsureNeverCalled(),
onBackClicked = EnsureNeverCalled(),
onSuccessLogout = EnsureNeverCalledWithParam(),
)
}
rule.pressTag(TestTags.dialogPositive.value)
eventsRecorder.assertSingle(LogoutEvents.Logout(false))
}
@Test
fun `clicking on back invoke back callback`() {
val eventsRecorder = EventsRecorder<LogoutEvents>(expectEvents = false)

21
libraries/architecture/src/main/kotlin/io/element/android/libraries/architecture/coverage/ExcludeFromCoverage.kt

@ -0,0 +1,21 @@ @@ -0,0 +1,21 @@
/*
* Copyright (c) 2023 New Vector Ltd
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package io.element.android.libraries.architecture.coverage
@Retention(AnnotationRetention.RUNTIME)
@Target(AnnotationTarget.FUNCTION, AnnotationTarget.CLASS)
annotation class ExcludeFromCoverage

6
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ClickableLinkText.kt

@ -171,11 +171,7 @@ fun AnnotatedString.linkify(linkStyle: SpanStyle): AnnotatedString { @@ -171,11 +171,7 @@ fun AnnotatedString.linkify(linkStyle: SpanStyle): AnnotatedString {
@Preview(group = PreviewGroup.Text)
@Composable
internal fun ClickableLinkTextPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun ClickableLinkTextPreview() = ElementThemedPreview {
ClickableLinkText(
annotatedString = AnnotatedString("Hello", ParagraphStyle()),
linkAnnotationTag = "",

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/LabelledCheckbox.kt

@ -54,10 +54,7 @@ fun LabelledCheckbox( @@ -54,10 +54,7 @@ fun LabelledCheckbox(
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun LabelledCheckboxPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun LabelledCheckboxPreview() = ElementThemedPreview {
LabelledCheckbox(
checked = true,
onCheckedChange = {},

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/ProgressDialog.kt

@ -141,10 +141,7 @@ private fun ProgressDialogContent( @@ -141,10 +141,7 @@ private fun ProgressDialogContent(
@Preview(group = PreviewGroup.Dialogs)
@Composable
internal fun ProgressDialogPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun ProgressDialogPreview() = ElementThemedPreview {
DialogPreview {
ProgressDialogContent(text = "test dialog content", isCancellable = true)
}

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCategory.kt

@ -68,10 +68,7 @@ private fun PreferenceCategoryTitle(title: String, modifier: Modifier = Modifier @@ -68,10 +68,7 @@ private fun PreferenceCategoryTitle(title: String, modifier: Modifier = Modifier
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceCategoryPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun PreferenceCategoryPreview() = ElementThemedPreview {
PreferenceCategory(
title = "Category title",
) {

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceCheckbox.kt

@ -95,10 +95,7 @@ fun PreferenceCheckbox( @@ -95,10 +95,7 @@ fun PreferenceCheckbox(
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceCheckboxPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun PreferenceCheckboxPreview() = ElementThemedPreview {
Column {
PreferenceCheckbox(
title = "Checkbox",

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceDivider.kt

@ -36,9 +36,6 @@ fun PreferenceDivider( @@ -36,9 +36,6 @@ fun PreferenceDivider(
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceDividerPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun PreferenceDividerPreview() = ElementThemedPreview {
PreferenceDivider()
}

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceRow.kt

@ -50,10 +50,7 @@ fun PreferenceRow( @@ -50,10 +50,7 @@ fun PreferenceRow(
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceRowPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun PreferenceRowPreview() = ElementThemedPreview {
PreferenceRow {
Text(text = "Content")
}

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSlide.kt

@ -90,10 +90,7 @@ fun PreferenceSlide( @@ -90,10 +90,7 @@ fun PreferenceSlide(
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceSlidePreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun PreferenceSlidePreview() = ElementThemedPreview {
PreferenceSlide(
iconResourceId = CompoundDrawables.ic_user_profile,
title = "Slide",

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/components/preferences/PreferenceSwitch.kt

@ -102,10 +102,7 @@ fun PreferenceSwitch( @@ -102,10 +102,7 @@ fun PreferenceSwitch(
@Preview(group = PreviewGroup.Preferences)
@Composable
internal fun PreferenceSwitchPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun PreferenceSwitchPreview() = ElementThemedPreview {
PreferenceSwitch(
title = "Switch",
subtitle = "Subtitle Switch",

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Checkbox.kt

@ -90,10 +90,7 @@ private fun compoundErrorCheckBoxColors(): CheckboxColors { @@ -90,10 +90,7 @@ private fun compoundErrorCheckBoxColors(): CheckboxColors {
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun CheckboxesPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun CheckboxesPreview() = ElementThemedPreview(vertical = false) {
Column {
// Unchecked
Row(horizontalArrangement = Arrangement.spacedBy(6.dp)) {

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/CircularProgressIndicator.kt

@ -69,10 +69,7 @@ fun CircularProgressIndicator( @@ -69,10 +69,7 @@ fun CircularProgressIndicator(
@Preview(group = PreviewGroup.Progress)
@Composable
internal fun CircularProgressIndicatorPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun CircularProgressIndicatorPreview() = ElementThemedPreview(vertical = false) {
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
// Indeterminate progress
CircularProgressIndicator()

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/DropdownMenuItem.kt

@ -78,10 +78,7 @@ internal object DropDownMenuItemDefaults { @@ -78,10 +78,7 @@ internal object DropDownMenuItemDefaults {
@Preview(group = PreviewGroup.Menus)
@Composable
internal fun DropdownMenuItemPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun DropdownMenuItemPreview() = ElementThemedPreview {
Column {
DropdownMenuItem(
text = { Text(text = "Item") },

6
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/FloatingActionButton.kt

@ -60,11 +60,7 @@ fun FloatingActionButton( @@ -60,11 +60,7 @@ fun FloatingActionButton(
@Preview(group = PreviewGroup.FABs)
@Composable
internal fun FloatingActionButtonPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun FloatingActionButtonPreview() = ElementThemedPreview {
Box(modifier = Modifier.padding(8.dp)) {
FloatingActionButton(onClick = {}) {
Icon(imageVector = CompoundIcons.Close, contentDescription = null)

7
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/HorizontalDivider.kt

@ -50,11 +50,6 @@ object ElementDividerDefaults { @@ -50,11 +50,6 @@ object ElementDividerDefaults {
@Composable
internal fun HorizontalDividerPreview() = ElementThemedPreview {
Box(Modifier.padding(vertical = 10.dp), contentAlignment = Alignment.Center) {
ContentToPreview()
}
}
@Composable
private fun ContentToPreview() {
HorizontalDivider()
}
}

6
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Icon.kt

@ -140,10 +140,6 @@ fun Icon( @@ -140,10 +140,6 @@ fun Icon(
@Preview(group = PreviewGroup.Icons)
@Composable
internal fun IconImageVectorPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun IconImageVectorPreview() = ElementThemedPreview {
Icon(imageVector = CompoundIcons.Close, contentDescription = null)
}

6
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconButton.kt

@ -58,11 +58,7 @@ fun IconButton( @@ -58,11 +58,7 @@ fun IconButton(
@Preview(group = PreviewGroup.Buttons)
@Composable
internal fun IconButtonPreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun IconButtonPreview() = ElementThemedPreview {
Column {
CompositionLocalProvider(LocalContentColor provides ElementTheme.colors.iconPrimary) {
Row {

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/IconToggleButton.kt

@ -59,10 +59,7 @@ fun IconToggleButton( @@ -59,10 +59,7 @@ fun IconToggleButton(
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun IconToggleButtonPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun IconToggleButtonPreview() = ElementThemedPreview(vertical = false) {
var checked by remember { mutableStateOf(false) }
Column {
Row(horizontalArrangement = Arrangement.spacedBy(6.dp)) {

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/LinearProgressIndicator.kt

@ -74,10 +74,7 @@ fun LinearProgressIndicator( @@ -74,10 +74,7 @@ fun LinearProgressIndicator(
@Preview(group = PreviewGroup.Progress)
@Composable
internal fun LinearProgressIndicatorPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun LinearProgressIndicatorPreview() = ElementThemedPreview(vertical = false) {
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
// Indeterminate progress
LinearProgressIndicator()

8
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/MediumTopAppBar.kt

@ -59,14 +59,10 @@ fun MediumTopAppBar( @@ -59,14 +59,10 @@ fun MediumTopAppBar(
)
}
@Preview(group = PreviewGroup.AppBars)
@Composable
internal fun MediumTopAppBarPreview() =
ElementThemedPreview { ContentToPreview() }
@OptIn(ExperimentalMaterial3Api::class)
@Preview(group = PreviewGroup.AppBars)
@Composable
private fun ContentToPreview() {
internal fun MediumTopAppBarPreview() = ElementThemedPreview {
MediumTopAppBar(
title = { Text(text = "Title") },
navigationIcon = { BackButton(onClick = {}) },

2
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheet.kt

@ -35,6 +35,7 @@ import androidx.compose.ui.tooling.preview.Preview @@ -35,6 +35,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme
import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ -93,6 +94,7 @@ internal fun ModalBottomSheetDarkPreview() = @@ -93,6 +94,7 @@ internal fun ModalBottomSheetDarkPreview() =
ElementPreviewDark { ContentToPreview() }
@OptIn(ExperimentalMaterial3Api::class)
@ExcludeFromCoverage
@Composable
private fun ContentToPreview() {
Box(

2
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/ModalBottomSheetLayout.kt

@ -47,6 +47,7 @@ import androidx.compose.ui.platform.LocalDensity @@ -47,6 +47,7 @@ import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp
import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
import io.element.android.libraries.designsystem.modifiers.applyIf
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
@ -110,6 +111,7 @@ internal fun ModalBottomSheetLayoutDarkPreview() = @@ -110,6 +111,7 @@ internal fun ModalBottomSheetLayoutDarkPreview() =
ElementPreviewDark { ContentToPreview() }
@OptIn(ExperimentalMaterialApi::class)
@ExcludeFromCoverage
@Composable
private fun ContentToPreview() {
ModalBottomSheetLayout(

2
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/OutlinedTextField.kt

@ -43,6 +43,7 @@ import androidx.compose.ui.text.input.TextFieldValue @@ -43,6 +43,7 @@ import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ -166,6 +167,7 @@ internal fun OutlinedTextFieldsPreview() = ElementPreviewLight { ContentToPrevie @@ -166,6 +167,7 @@ internal fun OutlinedTextFieldsPreview() = ElementPreviewLight { ContentToPrevie
internal fun OutlinedTextFieldsDarkPreview() = ElementPreviewDark { ContentToPreview() }
@Composable
@ExcludeFromCoverage
private fun ContentToPreview() {
Column(modifier = Modifier.padding(4.dp)) {
allBooleans.forEach { isError ->

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/RadioButton.kt

@ -66,10 +66,7 @@ internal fun compoundRadioButtonColors(): RadioButtonColors { @@ -66,10 +66,7 @@ internal fun compoundRadioButtonColors(): RadioButtonColors {
@Preview(group = PreviewGroup.Toggles)
@Composable
internal fun RadioButtonPreview() = ElementThemedPreview(vertical = false) { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun RadioButtonPreview() = ElementThemedPreview(vertical = false) {
var checked by remember { mutableStateOf(false) }
Column {
Row(horizontalArrangement = Arrangement.spacedBy(6.dp)) {

5
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Slider.kt

@ -58,10 +58,7 @@ fun Slider( @@ -58,10 +58,7 @@ fun Slider(
@Preview(group = PreviewGroup.Sliders)
@Composable
internal fun SlidersPreview() = ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun SlidersPreview() = ElementThemedPreview {
var value by remember { mutableFloatStateOf(0.33f) }
Column {
Slider(onValueChange = { value = it }, value = value, enabled = true)

6
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Surface.kt

@ -56,11 +56,7 @@ fun Surface( @@ -56,11 +56,7 @@ fun Surface(
@Preview
@Composable
internal fun SurfacePreview() =
ElementThemedPreview { ContentToPreview() }
@Composable
private fun ContentToPreview() {
internal fun SurfacePreview() = ElementThemedPreview {
Surface {
Spacer(modifier = Modifier.size(64.dp))
}

2
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/Text.kt

@ -42,6 +42,7 @@ import androidx.compose.ui.text.style.TextOverflow @@ -42,6 +42,7 @@ import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.compound.utils.toHrf
import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ -120,6 +121,7 @@ internal fun TextLightPreview() = ElementPreviewLight { ContentToPreview() } @@ -120,6 +121,7 @@ internal fun TextLightPreview() = ElementPreviewLight { ContentToPreview() }
@Composable
internal fun TextDarkPreview() = ElementPreviewDark { ContentToPreview() }
@ExcludeFromCoverage
@Composable
private fun ContentToPreview() {
val colors = mapOf(

2
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TextField.kt

@ -44,6 +44,7 @@ import androidx.compose.ui.text.input.TextFieldValue @@ -44,6 +44,7 @@ import androidx.compose.ui.text.input.TextFieldValue
import androidx.compose.ui.text.input.VisualTransformation
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ -154,6 +155,7 @@ internal fun TextFieldLightPreview() = @@ -154,6 +155,7 @@ internal fun TextFieldLightPreview() =
internal fun TextFieldDarkPreview() =
ElementPreviewDark { ContentToPreview() }
@ExcludeFromCoverage
@Composable
private fun ContentToPreview() {
Column(modifier = Modifier.padding(4.dp)) {

8
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/TopAppBar.kt

@ -59,14 +59,10 @@ fun TopAppBar( @@ -59,14 +59,10 @@ fun TopAppBar(
)
}
@Preview(group = PreviewGroup.AppBars)
@Composable
internal fun TopAppBarPreview() =
ElementThemedPreview { ContentToPreview() }
@OptIn(ExperimentalMaterial3Api::class)
@Preview(group = PreviewGroup.AppBars)
@Composable
private fun ContentToPreview() {
internal fun TopAppBarPreview() = ElementThemedPreview {
TopAppBar(
title = { Text(text = "Title") },
navigationIcon = { BackButton(onClick = {}) },

2
libraries/designsystem/src/main/kotlin/io/element/android/libraries/designsystem/theme/components/previews/DatePickerPreview.kt

@ -23,6 +23,7 @@ import androidx.compose.material3.MaterialTheme @@ -23,6 +23,7 @@ import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.rememberDatePickerState
import androidx.compose.runtime.Composable
import androidx.compose.ui.tooling.preview.Preview
import io.element.android.libraries.architecture.coverage.ExcludeFromCoverage
import io.element.android.libraries.designsystem.preview.ElementPreviewDark
import io.element.android.libraries.designsystem.preview.ElementPreviewLight
import io.element.android.libraries.designsystem.preview.PreviewGroup
@ -41,6 +42,7 @@ internal fun DatePickerDarkPreview() { @@ -41,6 +42,7 @@ internal fun DatePickerDarkPreview() {
}
@OptIn(ExperimentalMaterial3Api::class)
@ExcludeFromCoverage
@Composable
private fun ContentToPreview() {
val state = rememberDatePickerState(

6
tests/testutils/src/main/kotlin/io/element/android/tests/testutils/SemanticsNodeInteractionsProviderExtensions.kt

@ -18,8 +18,10 @@ package io.element.android.tests.testutils @@ -18,8 +18,10 @@ package io.element.android.tests.testutils
import androidx.activity.ComponentActivity
import androidx.annotation.StringRes
import androidx.compose.ui.test.SemanticsNodeInteractionsProvider
import androidx.compose.ui.test.hasClickAction
import androidx.compose.ui.test.hasContentDescription
import androidx.compose.ui.test.hasTestTag
import androidx.compose.ui.test.hasText
import androidx.compose.ui.test.junit4.AndroidComposeTestRule
import androidx.compose.ui.test.performClick
@ -36,3 +38,7 @@ fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.pressBack() { @@ -36,3 +38,7 @@ fun <R : TestRule> AndroidComposeTestRule<R, ComponentActivity>.pressBack() {
val text = activity.getString(CommonStrings.action_back)
onNode(hasContentDescription(text)).performClick()
}
fun SemanticsNodeInteractionsProvider.pressTag(tag: String) {
onNode(hasTestTag(tag)).performClick()
}

Loading…
Cancel
Save