Skip to content

Commit 065dbae

Browse files
Escape $ for JavaPoet
1 parent 516131d commit 065dbae

File tree

3 files changed

+8
-4
lines changed

3 files changed

+8
-4
lines changed

java-tests/validating/src/testFixtures/kotlin/io/spine/validation/assertions/Assertions.kt

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ import io.kotest.matchers.string.shouldContain
3737
import io.spine.type.toJson
3838
import io.spine.validate.ConstraintViolation
3939
import io.spine.validate.ValidationException
40+
import io.spine.validate.text.format
4041
import org.junit.jupiter.api.Assertions.assertDoesNotThrow
4142
import org.junit.jupiter.api.Assertions.assertThrows
4243
import org.junit.jupiter.api.Assertions.fail
@@ -89,8 +90,7 @@ fun assertViolation(
8990
.contains(field)
9091

9192
val violation = violations.atField(field)
92-
93-
violation.msgFormat shouldContain errorMessagePart
93+
violation.message.format() shouldContain errorMessagePart
9494
}
9595

9696
/**

java-tests/vanilla/src/test/kotlin/io/spine/validation/java/IsRequiredSpec.kt

+2-1
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ import com.google.protobuf.Message
3131
import io.spine.testing.TestValues.randomString
3232
import io.spine.validate.NonValidated
3333
import io.spine.validate.Validate.violationsOf
34+
import io.spine.validate.text.format
3435
import io.spine.validation.java.given.Fish
3536
import io.spine.validation.java.given.Meal
3637
import io.spine.validation.java.given.Sauce
@@ -50,7 +51,7 @@ internal class IsRequiredSpec {
5051
val violations = violationsOf(message)
5152
assertThat(violations)
5253
.hasSize(1)
53-
assertThat(violations[0]!!.msgFormat)
54+
assertThat(violations[0]!!.message.format())
5455
.contains("choice")
5556
}
5657

java/src/main/kotlin/io/spine/validation/java/DistributingGenerator.kt

+4-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,10 @@ internal class DistributingGenerator(
9898
addModifiers(Modifier.PRIVATE)
9999
returns(violationsType)
100100
addCode(body)
101-
}.toString()
101+
}
102+
.toString() // `MethodSpec` cannot be directly added to `CodeBloc`.
103+
.replace("$", "$$") // We need to escape `$` symbols,
104+
// which can be present in error templates.
102105

103106
return otherMembers.toBuilder()
104107
.add(groupingMethod)

0 commit comments

Comments
 (0)