From aeefaa87576356245166c632281ac85dafdba2d7 Mon Sep 17 00:00:00 2001 From: Egor Andreevich Date: Sat, 14 May 2022 19:20:43 -0400 Subject: [PATCH] Add a test for #1035 --- .../com/squareup/kotlinpoet/TypeSpecTest.kt | 32 +++++++++++++++++-- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt index 327416a9e9..c7d182d08b 100644 --- a/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt +++ b/kotlinpoet/src/test/java/com/squareup/kotlinpoet/TypeSpecTest.kt @@ -3938,7 +3938,7 @@ class TypeSpecTest { @Test fun classHeaderFormatting() { val typeSpec = TypeSpec.classBuilder("Person") - .addModifiers(KModifier.DATA) + .addModifiers(DATA) .primaryConstructor( FunSpec.constructorBuilder() .addParameter("id", Int::class) @@ -3987,7 +3987,7 @@ class TypeSpecTest { .build() val typeSpec = TypeSpec.classBuilder("Person") - .addModifiers(KModifier.DATA) + .addModifiers(DATA) .primaryConstructor( FunSpec.constructorBuilder() .addParameter(idParameterSpec) @@ -4402,7 +4402,7 @@ class TypeSpecTest { val source = FileSpec.builder("com.squareup.tacos", "Taco") .addType( TypeSpec.classBuilder("Taco") - .addModifiers(KModifier.DATA) + .addModifiers(DATA) .addProperty( PropertySpec.builder("madeFreshDatabaseDate", sqlTaco) .initializer("madeFreshDatabaseDate") @@ -5123,6 +5123,32 @@ class TypeSpecTest { ) } + // https://github.com/square/kotlinpoet/issues/1035 + @Test fun dataClassWithKeywordProperty() { + val parameter = ParameterSpec.builder("data", STRING).build() + val typeSpec = TypeSpec.classBuilder("Example") + .addModifiers(DATA) + .primaryConstructor( + FunSpec.constructorBuilder() + .addParameter(parameter) + .build() + ) + .addProperty( + PropertySpec.builder(parameter.name, STRING) + .initializer("%N", parameter) + .build() + ) + .build() + assertThat(typeSpec.toString()).isEqualTo( + """ + public data class Example( + public val `data`: kotlin.String, + ) + + """.trimIndent() + ) + } + companion object { private const val donutsPackage = "com.squareup.donuts" }