diff --git a/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala b/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala
index d9c0cb904..e96ee7844 100644
--- a/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala
+++ b/buildfile/src/main/scala/sbt/internal/parser/SbtParser.scala
@@ -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 =
diff --git a/buildfile/src/test/scala/sbt/internal/parser/ErrorSpec.scala b/buildfile/src/test/scala/sbt/internal/parser/ErrorSpec.scala
index 2e2d1f717..ac94032e1 100644
--- a/buildfile/src/test/scala/sbt/internal/parser/ErrorSpec.scala
+++ b/buildfile/src/test/scala/sbt/internal/parser/ErrorSpec.scala
@@ -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 =
|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
}