aboutsummaryrefslogtreecommitdiff
path: root/javatests/dagger/functional/kotlinsrc/assisted
diff options
context:
space:
mode:
Diffstat (limited to 'javatests/dagger/functional/kotlinsrc/assisted')
-rw-r--r--javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryAsQualifiedBindingTest.kt5
-rw-r--r--javatests/dagger/functional/kotlinsrc/assisted/AssistedFactoryWithJavaKeyWordNamesTest.kt69
-rw-r--r--javatests/dagger/functional/kotlinsrc/assisted/BUILD11
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",
+ ],
+)