Konsist: add test to ensure that functions with @PreviewsDayNight contain ElementTheme composable, and fix existing issues.
This commit is contained in:
parent
6230d9d48b
commit
8ca42d4cfc
5 changed files with 22 additions and 9 deletions
|
|
@ -34,6 +34,7 @@ import androidx.compose.ui.text.input.TextFieldValue
|
|||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinDigit
|
||||
import io.element.android.features.lockscreen.impl.pin.model.PinEntry
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.pinDigitBg
|
||||
import io.element.android.libraries.theme.ElementTheme
|
||||
|
|
@ -107,7 +108,7 @@ private fun PinDigitView(
|
|||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun PinEntryTextFieldPreview() {
|
||||
ElementTheme {
|
||||
ElementPreview {
|
||||
PinEntryTextField(
|
||||
pinEntry = PinEntry.empty(4).fillWith("12"),
|
||||
onValueChange = {},
|
||||
|
|
|
|||
|
|
@ -29,6 +29,7 @@ import androidx.compose.ui.draw.clip
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.features.messages.impl.R
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Icon
|
||||
import io.element.android.libraries.designsystem.utils.CommonDrawables
|
||||
|
|
@ -61,7 +62,7 @@ fun TimelineEncryptedHistoryBannerView(modifier: Modifier = Modifier) {
|
|||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun TimelineEncryptedHistoryBannerViewPreview() {
|
||||
ElementTheme {
|
||||
ElementPreview {
|
||||
TimelineEncryptedHistoryBannerView()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.res.stringResource
|
||||
import io.element.android.libraries.designsystem.components.dialogs.ListDialog
|
||||
import io.element.android.libraries.designsystem.components.list.TextFieldListItem
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.ListItem
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
|
|
@ -200,7 +201,7 @@ private fun EditLinkDialog(
|
|||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun TextComposerLinkDialogCreateLinkPreview() {
|
||||
internal fun TextComposerLinkDialogCreateLinkPreview() = ElementPreview {
|
||||
TextComposerLinkDialog(
|
||||
onDismissRequest = {},
|
||||
linkAction = LinkAction.InsertLink,
|
||||
|
|
@ -212,7 +213,7 @@ internal fun TextComposerLinkDialogCreateLinkPreview() {
|
|||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun TextComposerLinkDialogCreateLinkWithoutTextPreview() {
|
||||
internal fun TextComposerLinkDialogCreateLinkWithoutTextPreview() = ElementPreview {
|
||||
TextComposerLinkDialog(
|
||||
onDismissRequest = {},
|
||||
linkAction = LinkAction.SetLink(null),
|
||||
|
|
@ -224,7 +225,7 @@ internal fun TextComposerLinkDialogCreateLinkWithoutTextPreview() {
|
|||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun TextComposerLinkDialogEditLinkPreview() {
|
||||
internal fun TextComposerLinkDialogEditLinkPreview() = ElementPreview {
|
||||
TextComposerLinkDialog(
|
||||
onDismissRequest = {},
|
||||
linkAction = LinkAction.SetLink("https://element.io"),
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.unit.dp
|
||||
import io.element.android.libraries.designsystem.preview.ElementPreview
|
||||
import io.element.android.libraries.designsystem.preview.PreviewsDayNight
|
||||
import io.element.android.libraries.designsystem.theme.components.Text
|
||||
import io.element.android.libraries.theme.ElementTheme
|
||||
|
|
@ -46,9 +47,7 @@ internal fun RecordingProgress(
|
|||
shape = MaterialTheme.shapes.medium,
|
||||
)
|
||||
.padding(start = 12.dp, end = 20.dp, top = 8.dp, bottom = 8.dp)
|
||||
.heightIn(26.dp)
|
||||
|
||||
,
|
||||
.heightIn(26.dp),
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Box(
|
||||
|
|
@ -69,6 +68,6 @@ internal fun RecordingProgress(
|
|||
|
||||
@PreviewsDayNight
|
||||
@Composable
|
||||
internal fun RecordingProgressPreview() {
|
||||
internal fun RecordingProgressPreview() = ElementPreview {
|
||||
RecordingProgress()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -35,4 +35,15 @@ class KonsistPreviewTest {
|
|||
it.hasNameEndingWith("DarkPreview").not()
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
fun `Functions with '@PreviewsDayNight' annotation should contain 'ElementPreview' composable`() {
|
||||
Konsist
|
||||
.scopeFromProject()
|
||||
.functions()
|
||||
.withAllAnnotationsOf(PreviewsDayNight::class)
|
||||
.assertTrue {
|
||||
it.text.contains("ElementPreview")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue