aboutsummaryrefslogtreecommitdiff
path: root/org.jacoco.report.test
diff options
context:
space:
mode:
authorEvgeny Mandrikov <138671+Godin@users.noreply.github.com>2019-01-06 13:42:49 +0100
committerGitHub <noreply@github.com>2019-01-06 13:42:49 +0100
commitc7d70c7b0be325e84b9c98203e3e99946ac8bfcd (patch)
tree7d605325b0641f4841b137b8a120e76f1ad0c700 /org.jacoco.report.test
parent3718bd939efb0bb0d7b8729b1f05aac65b4333d6 (diff)
downloadjacoco-c7d70c7b0be325e84b9c98203e3e99946ac8bfcd.tar.gz
Show messages in HTML report when class has no debug information (#818)
Diffstat (limited to 'org.jacoco.report.test')
-rw-r--r--org.jacoco.report.test/src/org/jacoco/report/internal/html/page/ClassPageTest.java29
1 files changed, 25 insertions, 4 deletions
diff --git a/org.jacoco.report.test/src/org/jacoco/report/internal/html/page/ClassPageTest.java b/org.jacoco.report.test/src/org/jacoco/report/internal/html/page/ClassPageTest.java
index 7126f93e..b174fb29 100644
--- a/org.jacoco.report.test/src/org/jacoco/report/internal/html/page/ClassPageTest.java
+++ b/org.jacoco.report.test/src/org/jacoco/report/internal/html/page/ClassPageTest.java
@@ -17,6 +17,7 @@ import java.io.IOException;
import org.jacoco.core.analysis.IClassCoverage;
import org.jacoco.core.internal.analysis.ClassCoverageImpl;
+import org.jacoco.core.internal.analysis.CounterImpl;
import org.jacoco.core.internal.analysis.MethodCoverageImpl;
import org.jacoco.report.internal.ReportOutputFolder;
import org.jacoco.report.internal.html.ILinkable;
@@ -37,8 +38,10 @@ public class ClassPageTest extends PageTestBase {
@Override
public void setup() throws Exception {
super.setup();
+ final MethodCoverageImpl m = new MethodCoverageImpl("a", "()V", null);
+ m.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 42);
node = new ClassCoverageImpl("org/jacoco/example/Foo", 123, false);
- node.addMethod(new MethodCoverageImpl("a", "()V", null));
+ node.addMethod(m);
node.addMethod(new MethodCoverageImpl("b", "()V", null));
node.addMethod(new MethodCoverageImpl("c", "()V", null));
}
@@ -61,13 +64,15 @@ public class ClassPageTest extends PageTestBase {
}
@Test
- public void should_not_generate_message_when_SourceFileName_not_present()
+ public void should_generate_message_when_SourceFileName_not_present()
throws Exception {
page = new ClassPage(node, null, null, rootFolder, context);
page.render();
final Document doc = support.parse(output.getFile("Foo.html"));
- assertEquals("", support.findStr(doc, "/html/body/p[1]"));
+ assertEquals(
+ "Class files must be compiled with debug information to link with source files.",
+ support.findStr(doc, "/html/body/p[1]"));
}
@Test
@@ -87,8 +92,10 @@ public class ClassPageTest extends PageTestBase {
@Test
public void should_generate_message_with_default_package_when_SourceFileName_present_but_no_SourceFilePage()
throws Exception {
+ final MethodCoverageImpl m = new MethodCoverageImpl("a", "()V", null);
+ m.increment(CounterImpl.COUNTER_1_0, CounterImpl.COUNTER_0_0, 42);
node = new ClassCoverageImpl("Foo", 123, false);
- node.addMethod(new MethodCoverageImpl("a", "()V", null));
+ node.addMethod(m);
node.setSourceFileName("Foo.java");
page = new ClassPage(node, null, null, rootFolder, context);
@@ -112,6 +119,20 @@ public class ClassPageTest extends PageTestBase {
assertEquals("", support.findStr(doc, "/html/body/p[1]"));
}
+ @Test
+ public void should_generate_message_when_no_lines() throws Exception {
+ node = new ClassCoverageImpl("Foo", 123, false);
+ node.addMethod(new MethodCoverageImpl("m", "()V", null));
+
+ page = new ClassPage(node, null, new SourceLink(), rootFolder, context);
+ page.render();
+
+ final Document doc = support.parse(output.getFile("Foo.html"));
+ assertEquals(
+ "Class files must be compiled with debug information to show line coverage.",
+ support.findStr(doc, "/html/body/p[1]"));
+ }
+
private class SourceLink implements ILinkable {
public String getLink(final ReportOutputFolder base) {