@@ -17,34 +17,33 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
17
17
18
18
val index = IOUtils .readStreamAsString(getClass.getResourceAsStream(" /scoverage/index.html" ))
19
19
IOUtils .writeToFile(indexFile, index)
20
- IOUtils .writeToFile(packageFile, packages (coverage).toString)
20
+ IOUtils .writeToFile(packageFile, packageList (coverage).toString)
21
21
IOUtils .writeToFile(overviewFile, overview(coverage).toString)
22
22
23
- coverage.packages.foreach(write )
23
+ coverage.packages.foreach(writePackage )
24
24
}
25
25
26
26
private def relativeSource (src : String ): String = src.replace(sourceDirectory.getAbsolutePath + File .separator, " " )
27
27
28
- private def write (pkg : MeasuredPackage ): Unit = {
29
- // package overview files are written out using a directory structure that respects the directory name
28
+ private def writePackage (pkg : MeasuredPackage ): Unit = {
29
+ // package overview files are written out using a filename that respects the package name
30
30
// that means package com.example declared in a class at src/main/scala/mystuff/MyClass.scala will be written
31
- // to com/example/package.html
32
- // this is because a single class may have multiple packages so we cannot use original/path/package.html as
33
- // they might clash
34
- val packageFile = new File (pkg.name.replace(" <empty>" , " (empty)" ).replace(" ." , File .separator), " package.html" )
35
- val file = new File (outputDir, packageFile.getPath)
31
+ // to com.example.html
32
+ val file = new File (outputDir, packageOverviewRelativePath(pkg))
36
33
file.getParentFile.mkdirs()
37
34
IOUtils .writeToFile(file, packageOverview(pkg).toString)
38
- pkg.files.foreach(write(_, file.getParentFile) )
35
+ pkg.files.foreach(writeFile )
39
36
}
40
37
41
- private def write (mfile : MeasuredFile , dir : File ): Unit = {
38
+ private def writeFile (mfile : MeasuredFile ): Unit = {
42
39
// each highlighted file is written out using the same structure as the original file.
43
- val file = new File (outputDir, relativeSource(mfile.source))
40
+ val file = new File (outputDir, relativeSource(mfile.source) + " .html " )
44
41
file.getParentFile.mkdirs()
45
42
IOUtils .writeToFile(file, filePage(mfile).toString)
46
43
}
47
44
45
+ private def packageOverviewRelativePath (pkg : MeasuredPackage ) = pkg.name.replace(" <empty>" , " (empty)" ) + " .html"
46
+
48
47
private def filePage (mfile : MeasuredFile ): Node = {
49
48
val filename = relativeSource(mfile.source) + " .html"
50
49
val css =
@@ -88,7 +87,7 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
88
87
89
88
}
90
89
91
- def head = {
90
+ def header = {
92
91
val css = """ .meter {
93
92
| height: 14px;
94
93
| position: relative;
@@ -156,7 +155,7 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
156
155
157
156
def packageOverview (pack : MeasuredPackage ): Node = {
158
157
<html >
159
- {head }<body style =" font-family: monospace;" >
158
+ {header }<body style =" font-family: monospace;" >
160
159
{classesTable(pack.classes, false )}
161
160
</body >
162
161
</html >
@@ -278,7 +277,7 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
278
277
</tr >
279
278
}
280
279
281
- def packages (coverage : Coverage ): Node = {
280
+ def packageList (coverage : Coverage ): Node = {
282
281
<html >
283
282
<head >
284
283
<meta http-equiv =" Content-Type" content =" text/html; charset=utf-8" />
@@ -303,7 +302,7 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
303
302
</tr >{coverage.packages.map(arg =>
304
303
<tr >
305
304
<td >
306
- <a href ={arg.name.replace( " <empty> " , " (empty) " ).replace( '.' , '/' ) + " /package.html " } target =" mainFrame" >
305
+ <a href ={packageOverviewRelativePath(arg) } target =" mainFrame" >
307
306
{arg.name}
308
307
</a >{arg.statementCoverageFormatted}
309
308
%
@@ -405,7 +404,7 @@ class ScoverageHtmlWriter(sourceDirectory: File, outputDir: File) {
405
404
406
405
def overview (coverage : Coverage ): Node = {
407
406
<html >
408
- {head }<body style =" font-family: monospace;" >
407
+ {header }<body style =" font-family: monospace;" >
409
408
<div class =" alert alert-info" >
410
409
<b >
411
410
SCoverage
0 commit comments