Make checkTypeTag lenient on "scala." type prefix

This commit is contained in:
Dale Wijnand 2018-08-02 07:52:13 +01:00
parent 7e9e4879aa
commit b1d02bee30
No known key found for this signature in database
GPG Key ID: 4F256E3D151DF5EF
1 changed files with 13 additions and 2 deletions

View File

@ -11,6 +11,17 @@ class LogExchangeSpec extends FlatSpec with Matchers {
checkTypeTag("stringTypeTagTraceEvent", stringTypeTagTraceEvent, StringTypeTag[TraceEvent])
checkTypeTag("stringTypeTagSuccessEvent", stringTypeTagSuccessEvent, StringTypeTag[SuccessEvent])
private def checkTypeTag[A, B](name: String, actual: A, expected: B): Unit =
s"LogExchange.$name" should s"match real StringTypeTag[$expected]" in assert(actual == expected)
private def checkTypeTag[A](name: String, inc: StringTypeTag[A], exp: StringTypeTag[A]): Unit =
s"LogExchange.$name" should s"match real StringTypeTag[$exp]" in {
val StringTypeTag(incomingString) = inc
val StringTypeTag(expectedString) = exp
if ((incomingString startsWith "scala.") || (expectedString startsWith "scala.")) {
// > historically [Scala] has been inconsistent whether `scala.` is included, or not
// > would it be hard to make the test accept either result?
// https://github.com/scala/community-builds/pull/758#issuecomment-409760633
assert((incomingString stripPrefix "scala.") == (expectedString stripPrefix "scala."))
} else {
assert(incomingString == expectedString)
}
}
}