Add test around metro annotation.

Metro 0.7.0 make optional to use @Inject when the class is annotation by @ContributesBinding
This commit is contained in:
Benoit Marty 2025-10-17 12:57:23 +02:00 committed by Benoit Marty
parent dd395a5214
commit 7b9ca041b2

View file

@ -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)
}
}
}