diff --git a/jvm/scalactic-test/src/test/scala/org/scalactic/PrettifierSpec.scala b/jvm/scalactic-test/src/test/scala/org/scalactic/PrettifierSpec.scala index fed0616419..b9cefc3a04 100644 --- a/jvm/scalactic-test/src/test/scala/org/scalactic/PrettifierSpec.scala +++ b/jvm/scalactic-test/src/test/scala/org/scalactic/PrettifierSpec.scala @@ -402,6 +402,14 @@ class PrettifierSpec extends funspec.AnyFunSpec with matchers.should.Matchers { val prettifier = Prettifier.truncateAt(SizeLimit(2)) prettifier(col) shouldBe "List(1, 2, ...)" } + + case class CaseClazz(data: List[Int]) + + it("should truncate collection inside of a case class when used with Prettifier.truncateAt") { + val caseClass = CaseClazz(List(1, 2, 3)) + val prettifier = Prettifier.truncateAt(SizeLimit(2)) + prettifier(caseClass) shouldBe "CaseClazz(List(1, 2, ...))" + } } } diff --git a/jvm/scalactic/src/main/scala/org/scalactic/Prettifier.scala b/jvm/scalactic/src/main/scala/org/scalactic/Prettifier.scala index 0c2e364e32..1c9a03d163 100644 --- a/jvm/scalactic/src/main/scala/org/scalactic/Prettifier.scala +++ b/jvm/scalactic/src/main/scala/org/scalactic/Prettifier.scala @@ -277,6 +277,8 @@ private[scalactic] class TruncatingPrettifier(sizeLimit: SizeLimit) extends Defa else theToString // SKIP-SCALATESTJS,NATIVE-END + case caseClazz: Product => + s"${caseClazz.productPrefix}(" + caseClazz.productIterator.map(prettify(_, processed + caseClazz)).mkString(", ") + ")" case anythingElse => anythingElse.toString } }