Wrap long property initializers (#276)
diff --git a/src/main/java/com/squareup/kotlinpoet/PropertySpec.kt b/src/main/java/com/squareup/kotlinpoet/PropertySpec.kt
index d792c50..4b36788 100644
--- a/src/main/java/com/squareup/kotlinpoet/PropertySpec.kt
+++ b/src/main/java/com/squareup/kotlinpoet/PropertySpec.kt
@@ -58,7 +58,7 @@
if (delegated) {
codeWriter.emit(" by ")
} else {
- codeWriter.emit(" = ")
+ codeWriter.emitCode(" =%W")
}
codeWriter.emitCode("%[%L%]", initializer)
}
diff --git a/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt b/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt
index 755066c..596de82 100644
--- a/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt
+++ b/src/test/java/com/squareup/kotlinpoet/KotlinPoetTest.kt
@@ -455,6 +455,21 @@
|""".trimMargin())
}
+ @Test fun propertyWithLongInitializerWrapping() {
+ val source = FileSpec.builder(tacosPackage, "Taco")
+ .addProperty(PropertySpec.builder("foo", ClassName(tacosPackage, "Foo").asNullable())
+ .addModifiers(KModifier.PRIVATE)
+ .initializer("DefaultFooRegistry.getInstance().getDefaultFooInstanceForPropertiesFiles(file)")
+ .build())
+ .build()
+ assertThat(source.toString()).isEqualTo("""
+ |package com.squareup.tacos
+ |
+ |private val foo: Foo? =
+ | DefaultFooRegistry.getInstance().getDefaultFooInstanceForPropertiesFiles(file)
+ |""".trimMargin())
+ }
+
@Test fun stackedPropertyModifiers() {
val source = FileSpec.builder(tacosPackage, "Taco")
.addType(TypeSpec.classBuilder("A")