=act #21774 fix ByteString.toString to use fixed stringPrefix for all subclasses (#21775)

Otherwise, with 2.12,

ByteString().toString == "ByteString.ByteString1C()"

which would expose implementation details in the string representation.
This can lead to failing tests due to test expecting a particular string
representation of a ByteString which might be bad practice, yes, but is also
convenient.

The change is due to a fix in Scala for SI-9019 for which the string representation
of TraversableLike was changed which ByteString inherits.
See https://github.com/scala/scala/pull/5258/files
This commit is contained in:
Johannes Rudolph 2016-11-17 15:51:36 +01:00 committed by Konrad Malawski
parent ef75910872
commit 97bada7deb
3 changed files with 13 additions and 1 deletions

View file

@ -600,6 +600,12 @@ class ByteStringSpec extends WordSpec with Matchers with Checkers {
a.asByteBuffers.zip(a.getByteBuffers().asScala).forall(x x._1 == x._2)
}
}
"toString should start with ByteString(" in {
check { (bs: ByteString)
bs.toString.startsWith("ByteString(")
}
}
}
"behave like a Vector" when {
"concatenating" in { check { (a: ByteString, b: ByteString) likeVectors(a, b) { _ ++ _ } } }