diff options
Diffstat (limited to 'javatests/dagger/functional/kotlinsrc/assisted')
3 files changed, 82 insertions, 3 deletions
diff --git a/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryAsQualifiedBindingTest.kt b/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryAsQualifiedBindingTest.kt index 8c8dafae3..af891d751 100644 --- a/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryAsQualifiedBindingTest.kt +++ b/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryAsQualifiedBindingTest.kt @@ -17,7 +17,6 @@ package dagger.functional.kotlinsrc.assisted import com.google.common.truth.Truth.assertThat -import com.google.common.truth.Truth8.assertThat import dagger.Binds import dagger.BindsInstance import dagger.BindsOptionalOf @@ -56,7 +55,7 @@ internal class AssistedFactoryAsQualifiedBindingTest { interface Factory { fun create( @BindsInstance @AsComponentDependency bar: Bar, - @BindsInstance @AsComponentDependency barFactory: BarFactory + @BindsInstance @AsComponentDependency barFactory: BarFactory, ): TestComponent } } @@ -132,7 +131,7 @@ internal class AssistedFactoryAsQualifiedBindingTest { @AsMultibinding val barSet: Set<Bar>, @AsMultibinding val barFactorySet: Set<@JvmSuppressWildcards BarFactory>, val unqualifiedBarSet: Set<Bar>, - val unqualifiedBarFactorySet: Set<@JvmSuppressWildcards BarFactory> + val unqualifiedBarFactorySet: Set<@JvmSuppressWildcards BarFactory>, ) class Bar @AssistedInject constructor() diff --git a/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryWithJavaKeyWordNamesTest.kt b/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryWithJavaKeyWordNamesTest.kt new file mode 100644 index 000000000..84aaa628b --- /dev/null +++ b/javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryWithJavaKeyWordNamesTest.kt @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2023 The Dagger Authors. + * + * 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 dagger.functional.kotlinsrc.assisted + +import com.google.common.truth.Truth.assertThat +import dagger.BindsInstance +import dagger.Component +import dagger.assisted.Assisted +import dagger.assisted.AssistedFactory +import dagger.assisted.AssistedInject +import org.junit.Test +import org.junit.runner.RunWith +import org.junit.runners.JUnit4 + +// Regression test for https://github.com/google/dagger/issues/3995. +@RunWith(JUnit4::class) +internal class AssistedFactoryWithJavaKeyWordNamesTest { + @Component + interface MyComponent { + fun myAssistedFactory(): MyAssistedFactory + + @Component.Builder + interface Builder { + @BindsInstance fun addInteger(int: Int): Builder + fun build(): MyComponent + } + } + + data class MyAssistedClass @AssistedInject constructor( + val int: Int, + @Assisted val string: String, + @Assisted val long: Long + ) + + @AssistedFactory + interface MyAssistedFactory { + fun create(long: Long, string: String): MyAssistedClass + } + + @Test + fun testParametersWithJavaKeywordNames() { + val int = 1 + val long = 2L + val string = "string" + val myAssistedFactory = + DaggerAssistedFactoryWithJavaKeyWordNamesTest_MyComponent.builder() + .addInteger(int) + .build() + .myAssistedFactory() + .create(long, string) + assertThat(myAssistedFactory.int).isEqualTo(int) + assertThat(myAssistedFactory.long).isEqualTo(long) + assertThat(myAssistedFactory.string).isEqualTo(string) + } +} diff --git a/javatests/dagger/functional/kotlinsrc/assisted/BUILD b/javatests/dagger/functional/kotlinsrc/assisted/BUILD index a90f83c91..57242b385 100644 --- a/javatests/dagger/functional/kotlinsrc/assisted/BUILD +++ b/javatests/dagger/functional/kotlinsrc/assisted/BUILD @@ -132,3 +132,14 @@ GenKtTests( "//third_party/java/junit", ], ) + +GenKtTests( + name = "AssistedFactoryWithJavaKeyWordNamesTest", + srcs = ["AssistedFactoryWithJavaKeyWordNamesTest.kt"], + javacopts = DOCLINT_HTML_AND_SYNTAX, + test_only_deps = [ + "//:dagger_with_compiler", + "//third_party/java/truth", + "//third_party/java/junit", + ], +) |