From c259282b2799e9595d9ea0d77dc3e2dafeab0483 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Wed, 3 Nov 2021 11:57:29 +0100 Subject: [PATCH] fix: ensure packages are excluded correctly and add tests --- .../scala/scoverage/ScoverageOptions.scala | 3 +- .../scoverage/ScoverageOptionsTest.scala | 36 +++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 plugin/src/test/scala/scoverage/ScoverageOptionsTest.scala diff --git a/plugin/src/main/scala/scoverage/ScoverageOptions.scala b/plugin/src/main/scala/scoverage/ScoverageOptions.scala index bc3f12a2..6519c3a2 100644 --- a/plugin/src/main/scala/scoverage/ScoverageOptions.scala +++ b/plugin/src/main/scala/scoverage/ScoverageOptions.scala @@ -92,7 +92,8 @@ object ScoverageOptions { scalacOptions.foreach { case ExcludedPackages(packages) => - options = options.copy(excludedFiles = parseExclusionOption(packages)) + options = + options.copy(excludedPackages = parseExclusionOption(packages)) case ExcludedFiles(files) => options = options.copy(excludedFiles = parseExclusionOption(files)) case ExcludedSymbols(symbols) => diff --git a/plugin/src/test/scala/scoverage/ScoverageOptionsTest.scala b/plugin/src/test/scala/scoverage/ScoverageOptionsTest.scala new file mode 100644 index 00000000..4367a2e4 --- /dev/null +++ b/plugin/src/test/scala/scoverage/ScoverageOptionsTest.scala @@ -0,0 +1,36 @@ +package scoverage + +import munit.FunSuite + +class ScoverageOptionsTest extends FunSuite { + + val initalOptions = ScoverageOptions.default() + val fakeOptions = List( + "dataDir:myFakeDir", + "sourceRoot:myFakeSourceRoot", + "excludedPackages:some.package;another.package*", + "excludedFiles:*.proto;iHateThisFile.scala", + "excludedSymbols:someSymbol;anotherSymbol;aThirdSymbol", + "extraAfterPhase:extarAfter", + "extraBeforePhase:extraBefore", + "reportTestName" + ) + + val parsed = ScoverageOptions.parse(fakeOptions, (_) => (), initalOptions) + + test("should be able to parse all options") { + assertEquals( + parsed.excludedPackages, + Seq("some.package", "another.package*") + ) + assertEquals(parsed.excludedFiles, Seq("*.proto", "iHateThisFile.scala")) + assertEquals( + parsed.excludedSymbols, + Seq("someSymbol", "anotherSymbol", "aThirdSymbol") + ) + assertEquals(parsed.dataDir, "myFakeDir") + assertEquals(parsed.reportTestName, true) + assertEquals(parsed.sourceRoot, "myFakeSourceRoot") + } + +}