From 7b9ca041b26b3299a6ddd6e7605d4dbea582fa5a Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Fri, 17 Oct 2025 12:57:23 +0200 Subject: [PATCH] Add test around metro annotation. Metro 0.7.0 make optional to use @Inject when the class is annotation by @ContributesBinding --- .../element/android/tests/konsist/KonsistDiTest.kt | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistDiTest.kt b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistDiTest.kt index 093cfd4488..1f3bfce178 100644 --- a/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistDiTest.kt +++ b/tests/konsist/src/test/kotlin/io/element/android/tests/konsist/KonsistDiTest.kt @@ -10,8 +10,10 @@ package io.element.android.tests.konsist import com.lemonappdev.konsist.api.Konsist import com.lemonappdev.konsist.api.ext.list.withAnnotationOf import com.lemonappdev.konsist.api.ext.list.withParameter +import com.lemonappdev.konsist.api.verify.assertFalse import com.lemonappdev.konsist.api.verify.assertTrue import dev.zacsweers.metro.Assisted +import dev.zacsweers.metro.ContributesBinding import dev.zacsweers.metro.Inject import org.junit.Test @@ -32,4 +34,15 @@ class KonsistDiTest { .isEmpty() } } + + @Test + fun `class annotated with @ContributesBinding does not need to be annotated with @Inject anymore`() { + Konsist + .scopeFromProject() + .classes() + .withAnnotationOf(ContributesBinding::class) + .assertFalse { classDeclaration -> + classDeclaration.hasAnnotationOf(Inject::class) + } + } }