From b019d879e34ddd798c26347c5366a29a448be5c9 Mon Sep 17 00:00:00 2001 From: Chris Kipp Date: Thu, 23 Sep 2021 13:01:34 +0200 Subject: [PATCH] Bump version of scala-xml to 2.0.0 (#384) --- build.sbt | 2 +- .../scala/scoverage/CoberturaXmlWriterTest.scala | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index fcb25487..d650d4a1 100644 --- a/build.sbt +++ b/build.sbt @@ -118,7 +118,7 @@ lazy val plugin = crossTarget := target.value / s"scala-${scalaVersion.value}", crossVersion := CrossVersion.full, libraryDependencies ++= Seq( - "org.scala-lang.modules" %% "scala-xml" % "1.3.0", + "org.scala-lang.modules" %% "scala-xml" % "2.0.0", "org.scalatest" %% "scalatest" % scalatestVersion % Test, "org.scala-lang" % "scala-compiler" % scalaVersion.value % Provided ), diff --git a/scalac-scoverage-plugin/src/test/scala/scoverage/CoberturaXmlWriterTest.scala b/scalac-scoverage-plugin/src/test/scala/scoverage/CoberturaXmlWriterTest.scala index 3cd39cb1..7be2eeb2 100644 --- a/scalac-scoverage-plugin/src/test/scala/scoverage/CoberturaXmlWriterTest.scala +++ b/scalac-scoverage-plugin/src/test/scala/scoverage/CoberturaXmlWriterTest.scala @@ -3,8 +3,11 @@ package scoverage import java.io.File import java.util.UUID import javax.xml.parsers.DocumentBuilderFactory +import javax.xml.parsers.SAXParserFactory +import scala.xml.Elem import scala.xml.XML +import scala.xml.factory.XMLLoader import org.scalatest.BeforeAndAfter import org.scalatest.OneInstancePerTest @@ -314,7 +317,17 @@ class CoberturaXmlWriterTest val writer = new CoberturaXmlWriter(sourceRoot, dir) writer.write(coverage) - val xml = XML.loadFile(fileIn(dir)) + // Needed to acount for https://github.com/scala/scala-xml/pull/177 + val customXML: XMLLoader[Elem] = XML.withSAXParser { + val factory = SAXParserFactory.newInstance() + factory.setFeature( + "http://apache.org/xml/features/nonvalidating/load-external-dtd", + false + ) + factory.newSAXParser() + } + + val xml = customXML.loadFile(fileIn(dir)) assert((xml \\ "coverage" \ "@line-rate").text === "0.33", "line-rate") assert((xml \\ "coverage" \ "@branch-rate").text === "0.50", "branch-rate")