From 980b91d8d176f9f918d63234a53a8867ea962439 Mon Sep 17 00:00:00 2001 From: Friendseeker <66892505+Friendseeker@users.noreply.github.com> Date: Fri, 11 Oct 2024 18:11:26 -0700 Subject: [PATCH] Add test case to JavaErrorParserSpec --- ...erSpec.scala => JavaErrorParserSpec.scala} | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) rename internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/{javaErrorParserSpec.scala => JavaErrorParserSpec.scala} (89%) diff --git a/internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/javaErrorParserSpec.scala b/internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/JavaErrorParserSpec.scala similarity index 89% rename from internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/javaErrorParserSpec.scala rename to internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/JavaErrorParserSpec.scala index 5e4d8244f..b092adfff 100644 --- a/internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/javaErrorParserSpec.scala +++ b/internal/zinc-compile-core/src/test/scala/sbt/internal/inc/javac/JavaErrorParserSpec.scala @@ -23,6 +23,7 @@ class JavaErrorParserSpec extends UnitSpec with Diagrams { "The JavaErrorParser" should "be able to parse Linux errors" in parseSampleLinux() it should "be able to parse windows file names" in parseWindowsFile() it should "be able to parse windows errors" in parseSampleWindows() + it should "be able to parse javac non-problems" in parseSampleNonProblem() it should "be able to parse javac warnings" in parseJavacWarning() it should "be able to parse javac errors" in parseSampleJavac() it should "register the position of errors" in parseErrorPosition() @@ -47,6 +48,14 @@ class JavaErrorParserSpec extends UnitSpec with Diagrams { problems(0).position.sourcePath.get shouldBe (windowsFile) } + def parseSampleNonProblem() = { + val parser = new JavaErrorParser() + val logger = ConsoleLogger() + val problems = parser.parseProblems(sampleNonProblemMessage, logger) + + assert(problems.size == 2) + } + def parseWindowsFile() = { val parser = new JavaErrorParser() parser.parse(parser.fileAndLineNo, sampleWindowsMessage) match { @@ -198,6 +207,21 @@ class JavaErrorParserSpec extends UnitSpec with Diagrams { |return baz(); """.stripMargin + def sampleNonProblemMessage = + raw""" + |Loading source file D:\Repos\zinc\internal\zinc-compile-core\target\jvm-2.13\test-classes\sbt\internal\inc\javac\test1.java... + |Constructing Javadoc information... + |D:\Repos\zinc\internal\zinc-compile-core\target\jvm-2.13\test-classes\sbt\internal\inc\javac\test1.java:14: error: class Test is public, should be declared in a file named Test.java + |public class Test { + | ^ + |D:\Repos\zinc\internal\zinc-compile-core\target\jvm-2.13\test-classes\sbt\internal\inc\javac\test1.java:15: error: cannot find symbol + | public NotFound foo() { return 5; } + | ^ + | symbol: class NotFound + | location: class Test + |2 errors + """.stripMargin.trim + def sampleJavacWarning = "warning: [options] system modules path not set in conjunction with -source 17"