mirror of https://github.com/sbt/sbt.git
Refactor xml test in ErrorSpec
This commit is contained in:
parent
135ab16b5c
commit
245d13575a
|
|
@ -39,7 +39,7 @@ private[sbt] object SbtParser:
|
|||
val END_OF_LINE_CHAR = '\n'
|
||||
val END_OF_LINE = String.valueOf(END_OF_LINE_CHAR)
|
||||
private[parser] val NOT_FOUND_INDEX = -1
|
||||
private[sbt] val FAKE_FILE = VirtualFileRef.of("fake") // new File("fake")
|
||||
private[sbt] val FAKE_FILE = VirtualFileRef.of("fake")
|
||||
private[parser] val XML_ERROR = "';' expected but 'val' found."
|
||||
|
||||
private val XmlErrorMessage =
|
||||
|
|
|
|||
|
|
@ -29,30 +29,24 @@ object ErrorSpec extends AbstractSpec {
|
|||
print(s"Processing ${file.getFileName}: ")
|
||||
|
||||
val vf = converter.toVirtualFile(file)
|
||||
val buildSbt = Source.fromFile(file.toUri).getLines.mkString("\n")
|
||||
val message =
|
||||
interceptMessageException(SbtParser(vf, buildSbt.linesIterator.toSeq)).getMessage
|
||||
val buildSbt = Source.fromFile(file.toUri).getLines.toSeq
|
||||
val message = interceptMessageException(SbtParser(vf, buildSbt))
|
||||
println(message)
|
||||
assert(message.contains(file.getFileName.toString))
|
||||
containsLineNumber(message)
|
||||
}
|
||||
}
|
||||
|
||||
test("it should handle xml error") {
|
||||
try {
|
||||
val buildSbt =
|
||||
"""
|
||||
test("xml error") {
|
||||
val buildSbt =
|
||||
"""
|
||||
|val a = <a/><b/>
|
||||
|val s = '
|
||||
""".stripMargin
|
||||
SbtParser(SbtParser.FAKE_FILE, buildSbt.linesIterator.toSeq)
|
||||
// sys.error("not supposed to reach here")
|
||||
} catch {
|
||||
case exp: MessageOnlyException =>
|
||||
val message = exp.getMessage
|
||||
println(s"${exp.getMessage}")
|
||||
assert(message.contains(SbtParser.FAKE_FILE.id()))
|
||||
}
|
||||
val message =
|
||||
interceptMessageException(SbtParser(SbtParser.FAKE_FILE, buildSbt.linesIterator.toSeq))
|
||||
println(message)
|
||||
assert(message.contains(SbtParser.FAKE_FILE.id))
|
||||
}
|
||||
|
||||
private def containsLineNumber(message: String) =
|
||||
|
|
@ -60,9 +54,9 @@ object ErrorSpec extends AbstractSpec {
|
|||
|
||||
private def interceptMessageException(callback: => Unit)(using
|
||||
pos: SourceLocation
|
||||
): MessageOnlyException =
|
||||
): String =
|
||||
try
|
||||
callback
|
||||
throw new AssertionError(s"$pos: expected a MessageOnlyException to be thrown")
|
||||
catch case ex: MessageOnlyException => ex
|
||||
catch case ex: MessageOnlyException => ex.getMessage
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue