Skip to content

Commit 1ecf37b

Browse files
authored
fix: ensure passed in encoding is being used and make some things private (#418)
1 parent c392417 commit 1ecf37b

File tree

6 files changed

+27
-14
lines changed

6 files changed

+27
-14
lines changed

plugin/src/test/scala/scoverage/LocationCompiler.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import scala.tools.nsc.transform.TypingTransformers
99

1010
import scoverage.reporter.IOUtils
1111

12-
class LocationCompiler(
12+
private[scoverage] class LocationCompiler(
1313
settings: scala.tools.nsc.Settings,
1414
reporter: scala.tools.nsc.reporters.Reporter
1515
) extends scala.tools.nsc.Global(settings, reporter) {
@@ -26,7 +26,7 @@ class LocationCompiler(
2626

2727
def writeCodeSnippetToTempFile(code: String): File = {
2828
val file = File.createTempFile("code_snippet", ".scala")
29-
IOUtils.writeToFile(file, code)
29+
IOUtils.writeToFile(file, code, None)
3030
file.deleteOnExit()
3131
file
3232
}

plugin/src/test/scala/scoverage/ScoverageCompiler.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import scala.tools.nsc.transform.TypingTransformers
1313

1414
import scoverage.reporter.IOUtils
1515

16-
object ScoverageCompiler {
16+
private[scoverage] object ScoverageCompiler {
1717

1818
val ScalaVersion: String = scala.util.Properties.versionNumberString
1919
val ShortScalaVersion: String = (ScalaVersion split "[.]").toList match {
@@ -142,7 +142,7 @@ class ScoverageCompiler(
142142

143143
def writeCodeSnippetToTempFile(code: String): File = {
144144
val file = File.createTempFile("scoverage_snippet", ".scala")
145-
IOUtils.writeToFile(file, code)
145+
IOUtils.writeToFile(file, code, None)
146146
file.deleteOnExit()
147147
file
148148
}

reporter/src/main/scala/scoverage/reporter/CoberturaXmlWriter.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,8 @@ class CoberturaXmlWriter(
2727
IOUtils.writeToFile(
2828
file,
2929
"<?xml version=\"1.0\"?>\n<!DOCTYPE coverage SYSTEM \"http://cobertura.sourceforge.net/xml/coverage-04.dtd\">\n" +
30-
new PrettyPrinter(120, 4).format(xml(coverage))
30+
new PrettyPrinter(120, 4).format(xml(coverage)),
31+
sourceEncoding
3132
)
3233
}
3334

reporter/src/main/scala/scoverage/reporter/IOUtils.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ object IOUtils {
4242
def writeToFile(
4343
file: File,
4444
str: String,
45-
encoding: String = Codec.UTF8.name
45+
encoding: Option[String]
4646
) = {
4747
val writer = new BufferedWriter(
4848
new OutputStreamWriter(
4949
new FileOutputStream(file),
50-
encoding
50+
encoding.getOrElse(Codec.UTF8.name)
5151
)
5252
)
5353
try {

reporter/src/main/scala/scoverage/reporter/ScoverageHtmlWriter.scala

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,10 +53,18 @@ class ScoverageHtmlWriter(
5353
try IOUtils.readStreamAsString(in)
5454
finally in.close()
5555
}
56-
IOUtils.writeToFile(indexFile, index)
57-
IOUtils.writeToFile(cssFile, css)
58-
IOUtils.writeToFile(packageFile, packageList(coverage).toString())
59-
IOUtils.writeToFile(overviewFile, overview(coverage).toString())
56+
IOUtils.writeToFile(indexFile, index, sourceEncoding)
57+
IOUtils.writeToFile(cssFile, css, sourceEncoding)
58+
IOUtils.writeToFile(
59+
packageFile,
60+
packageList(coverage).toString(),
61+
sourceEncoding
62+
)
63+
IOUtils.writeToFile(
64+
overviewFile,
65+
overview(coverage).toString(),
66+
sourceEncoding
67+
)
6068

6169
coverage.packages.foreach(writePackage)
6270
}
@@ -67,15 +75,15 @@ class ScoverageHtmlWriter(
6775
// to com.example.html
6876
val file = new File(outputDir, packageOverviewRelativePath(pkg))
6977
file.getParentFile.mkdirs()
70-
IOUtils.writeToFile(file, packageOverview(pkg).toString())
78+
IOUtils.writeToFile(file, packageOverview(pkg).toString(), sourceEncoding)
7179
pkg.files.foreach(writeFile)
7280
}
7381

7482
private def writeFile(mfile: MeasuredFile): Unit = {
7583
// each highlighted file is written out using the same structure as the original file.
7684
val file = new File(outputDir, relativeSource(mfile.source) + ".html")
7785
file.getParentFile.mkdirs()
78-
IOUtils.writeToFile(file, filePage(mfile).toString())
86+
IOUtils.writeToFile(file, filePage(mfile).toString(), sourceEncoding)
7987
}
8088

8189
private def packageOverviewRelativePath(pkg: MeasuredPackage) =

reporter/src/main/scala/scoverage/reporter/ScoverageXmlWriter.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,11 @@ class ScoverageXmlWriter(
3030

3131
def write(coverage: Coverage): Unit = {
3232
val file = IOUtils.reportFile(outputDir, debug)
33-
IOUtils.writeToFile(file, new PrettyPrinter(120, 4).format(xml(coverage)))
33+
IOUtils.writeToFile(
34+
file,
35+
new PrettyPrinter(120, 4).format(xml(coverage)),
36+
sourceEncoding
37+
)
3438
}
3539

3640
private def xml(coverage: Coverage): Node = {

0 commit comments

Comments
 (0)