Skip to content

Commit 8f4a7e1

Browse files
author
Samuel Nitsche
committed
First simple implementation of copying necessary assets
Needs lots of refactoring
1 parent 91d2f43 commit 8f4a7e1

File tree

2 files changed

+33
-2
lines changed

2 files changed

+33
-2
lines changed

src/main/java/org/utplsql/cli/RunCommand.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@
44
import com.beust.jcommander.Parameters;
55
import org.utplsql.api.*;
66
import org.utplsql.api.compatibility.CompatibilityProxy;
7-
import org.utplsql.api.compatibility.OptionalFeatures;
8-
import org.utplsql.api.exception.DatabaseNotCompatibleException;
97
import org.utplsql.api.exception.SomeTestsFailedException;
8+
import org.utplsql.api.reporter.CoverageHTMLReporter;
109
import org.utplsql.api.reporter.Reporter;
1110
import org.utplsql.api.reporter.ReporterFactory;
1211
import org.utplsql.cli.exception.DatabaseConnectionFailed;
@@ -15,6 +14,7 @@
1514
import java.io.FileNotFoundException;
1615
import java.io.FileOutputStream;
1716
import java.io.PrintStream;
17+
import java.nio.file.Paths;
1818
import java.sql.Connection;
1919
import java.sql.SQLException;
2020
import java.util.ArrayList;
@@ -219,6 +219,13 @@ private List<Reporter> initReporters( Connection conn, List<ReporterOptions> rep
219219

220220
for (ReporterOptions ro : reporterOptionsList) {
221221
Reporter reporter = ReporterFactory.createReporter(ro.getReporterName());
222+
223+
// Quick-hack for CoverageHTML Reporter
224+
if ( reporter instanceof CoverageHTMLReporter && ro.outputToFile() ) {
225+
((CoverageHTMLReporter)reporter).setAssetsPath(ro.getOutputFileName()+"_assets/");
226+
CoverageHTMLReporter.writeReportAssetsTo(Paths.get(ro.getOutputFileName()+"_assets/"));
227+
}
228+
222229
reporter.init(conn);
223230
ro.setReporterObj(reporter);
224231
reporterList.add(reporter);

src/test/java/org/utplsql/cli/RunCommandCoverageReporterIT.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@
22

33
import org.junit.jupiter.api.Test;
44

5+
import java.io.File;
56
import java.nio.file.Files;
67
import java.nio.file.Path;
78
import java.nio.file.Paths;
9+
import java.util.List;
810
import java.util.Scanner;
911
import java.util.regex.Matcher;
1012
import java.util.regex.Pattern;
1113

1214
import static org.junit.jupiter.api.Assertions.assertEquals;
15+
import static org.junit.jupiter.api.Assertions.assertTrue;
1316

1417
/**
1518
* System tests for Code Coverage Reporter
@@ -83,4 +86,25 @@ public void run_CodeCoverageWithIncludeAndExclude() throws Exception {
8386
}
8487

8588
}
89+
90+
@Test
91+
public void coverageReporterWriteAssetsToOutput() throws Exception {
92+
Path coveragePath = getTempCoverageFilePath();
93+
94+
RunCommand runCmd = RunCommandTestHelper.createRunCommand(RunCommandTestHelper.getConnectionString(),
95+
"-f=ut_coverage_html_reporter", "-o=" + coveragePath, "-s");
96+
try {
97+
int result = runCmd.run();
98+
99+
List<ReporterOptions> reporterOptions = runCmd.getReporterOptionsList();
100+
File applicationJs = coveragePath.resolve(Paths.get("assets", "application.js")).toFile();
101+
102+
assertTrue(applicationJs.exists());
103+
104+
} finally {
105+
if ( Files.exists(coveragePath))
106+
Files.delete(coveragePath);
107+
}
108+
109+
}
86110
}

0 commit comments

Comments
 (0)