diff --git a/rules/common/src/main/kotlin/com/twitter/compose/rules/ComposeViewModelInjection.kt b/rules/common/src/main/kotlin/com/twitter/compose/rules/ComposeViewModelInjection.kt index 20e233a1..3c12330a 100644 --- a/rules/common/src/main/kotlin/com/twitter/compose/rules/ComposeViewModelInjection.kt +++ b/rules/common/src/main/kotlin/com/twitter/compose/rules/ComposeViewModelInjection.kt @@ -108,7 +108,8 @@ class ComposeViewModelInjection : ComposeKtVisitor { "viewModel", // AAC VM "weaverViewModel", // Weaver "hiltViewModel", // Hilt - "injectedViewModel" // Whetstone + "injectedViewModel", // Whetstone + "mavericksViewModel" // Mavericks ) } diff --git a/rules/detekt/src/test/kotlin/com/twitter/compose/rules/detekt/ComposeViewModelInjectionCheckTest.kt b/rules/detekt/src/test/kotlin/com/twitter/compose/rules/detekt/ComposeViewModelInjectionCheckTest.kt index b03999ec..e0d5eb0b 100644 --- a/rules/detekt/src/test/kotlin/com/twitter/compose/rules/detekt/ComposeViewModelInjectionCheckTest.kt +++ b/rules/detekt/src/test/kotlin/com/twitter/compose/rules/detekt/ComposeViewModelInjectionCheckTest.kt @@ -16,7 +16,7 @@ class ComposeViewModelInjectionCheckTest { private val rule = ComposeViewModelInjectionCheck(Config.empty) @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `passes when a weaverViewModel is used as a default param`(viewModel: String) { @Language("kotlin") val code = @@ -33,7 +33,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `overridden functions are ignored`(viewModel: String) { @Language("kotlin") val code = @@ -48,7 +48,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `errors when a weaverViewModel is used at the beginning of a Composable`(viewModel: String) { @Language("kotlin") val code = @@ -79,7 +79,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `errors when a weaverViewModel is used in different branches`(viewModel: String) { @Language("kotlin") val code = diff --git a/rules/ktlint/src/test/kotlin/com/twitter/compose/rules/ktlint/ComposeViewModelInjectionCheckTest.kt b/rules/ktlint/src/test/kotlin/com/twitter/compose/rules/ktlint/ComposeViewModelInjectionCheckTest.kt index 8aa79135..840cb462 100644 --- a/rules/ktlint/src/test/kotlin/com/twitter/compose/rules/ktlint/ComposeViewModelInjectionCheckTest.kt +++ b/rules/ktlint/src/test/kotlin/com/twitter/compose/rules/ktlint/ComposeViewModelInjectionCheckTest.kt @@ -14,7 +14,7 @@ class ComposeViewModelInjectionCheckTest { private val injectionRuleAssertThat = assertThatRule { ComposeViewModelInjectionCheck() } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `passes when a weaverViewModel is used as a default param`(viewModel: String) { @Language("kotlin") val code = @@ -30,7 +30,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `overridden functions are ignored`(viewModel: String) { @Language("kotlin") val code = @@ -44,7 +44,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `errors when a weaverViewModel is used at the beginning of a Composable`(viewModel: String) { @Language("kotlin") val code = @@ -82,7 +82,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `errors when a weaverViewModel is used in different branches`(viewModel: String) { @Language("kotlin") val code = @@ -111,7 +111,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `fix no args composable function adds the code inside the parentheses`(viewModel: String) { @Language("kotlin") val badCode = """ @@ -139,7 +139,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `fix normal args composable function adds the new code at the end`(viewModel: String) { @Language("kotlin") val badCode = """ @@ -166,7 +166,7 @@ class ComposeViewModelInjectionCheckTest { } @ParameterizedTest - @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel"]) + @ValueSource(strings = ["viewModel", "weaverViewModel", "hiltViewModel", "injectedViewModel", "mavericksViewModel"]) fun `fix trailing lambda args composable function adds the new code before the trailing lambda`(viewModel: String) { @Language("kotlin") val badCode = """