diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageTableModel.java b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageTableModel.java index 1d92b197..4dbe5ef3 100644 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageTableModel.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/metrics/steps/CoverageTableModel.java @@ -197,6 +197,7 @@ protected ColorProvider getColorProvider() { /** * UI row model for the coverage details table. */ + @SuppressWarnings("PMD.PublicMemberInNonPublicType") static class CoverageRow { private static final String COVERAGE_COLUMN_OUTER = "coverage-cell-outer float-end"; private static final String COVERAGE_COLUMN_INNER = "coverage-jenkins-cell-inner"; @@ -222,92 +223,92 @@ static class CoverageRow { colorProvider = colors; } - String getFileHash() { + public String getFileHash() { return String.valueOf(file.getRelativePath().hashCode()); } @SuppressWarnings("PMD.BooleanGetMethodName") - boolean getModified() { + public boolean getModified() { return file.hasModifiedLines(); } - DetailedCell> getFileName() { + public DetailedCell> getFileName() { return new DetailedCell<>(renderer.renderFileName(file.getName(), file.getRelativePath()), file.getName()); } - String getPackageName() { + public String getPackageName() { return file.getParentName(); } - DetailedCell> getLineCoverage() { + public DetailedCell> getLineCoverage() { return createColoredCoverageColumn(getCoverageOfNode(Metric.LINE)); } - DetailedCell> getBranchCoverage() { + public DetailedCell> getBranchCoverage() { return createColoredCoverageColumn(getCoverageOfNode(Metric.BRANCH)); } - DetailedCell> getMethodCoverage() { + public DetailedCell> getMethodCoverage() { return createColoredCoverageColumn(getCoverageOfNode(Metric.METHOD)); } - DetailedCell> getMcdcPairCoverage() { + public DetailedCell> getMcdcPairCoverage() { return createColoredCoverageColumn(getCoverageOfNode(Metric.MCDC_PAIR)); } - DetailedCell> getFunctionCallCoverage() { + public DetailedCell> getFunctionCallCoverage() { return createColoredCoverageColumn(getCoverageOfNode(Metric.FUNCTION_CALL)); } - DetailedCell> getMutationCoverage() { + public DetailedCell> getMutationCoverage() { return createColoredCoverageColumn(getCoverageOfNode(Metric.MUTATION)); } - DetailedCell> getTestStrength() { + public DetailedCell> getTestStrength() { return createColoredCoverageColumn(getCoverageOfNode(Metric.TEST_STRENGTH)); } - Coverage getCoverageOfNode(final Metric metric) { + public Coverage getCoverageOfNode(final Metric metric) { return file.getTypedValue(metric, Coverage.nullObject(metric)); } - DetailedCell> getLineCoverageDelta() { + public DetailedCell> getLineCoverageDelta() { return createColoredFileCoverageDeltaColumn(Metric.LINE); } - DetailedCell> getBranchCoverageDelta() { + public DetailedCell> getBranchCoverageDelta() { return createColoredFileCoverageDeltaColumn(Metric.BRANCH); } - DetailedCell> getMutationCoverageDelta() { + public DetailedCell> getMutationCoverageDelta() { return createColoredFileCoverageDeltaColumn(Metric.MUTATION); } - DetailedCell> getTestStrengthDelta() { + public DetailedCell> getTestStrengthDelta() { return createColoredFileCoverageDeltaColumn(Metric.TEST_STRENGTH); } - int getLoc() { + public int getLoc() { return file.getTypedValue(Metric.LOC, ZERO_LOC).asInteger(); } - int getTests() { + public int getTests() { return file.getTypedValue(Metric.TESTS, ZERO_TESTS).asInteger(); } - int getCyclomaticComplexity() { + public int getCyclomaticComplexity() { return file.getTypedValue(Metric.CYCLOMATIC_COMPLEXITY, ZERO_CYCLOMATIC_COMPLEXITY).asInteger(); } - int getCognitiveComplexity() { + public int getCognitiveComplexity() { return file.getTypedValue(Metric.COGNITIVE_COMPLEXITY, ZERO_COGNITIVE_COMPLEXITY).asInteger(); } - int getNpathComplexity() { + public int getNpathComplexity() { return file.getTypedValue(Metric.NPATH_COMPLEXITY, ZERO_NPATH_COMPLEXITY).asInteger(); } - int getNcss() { + public int getNcss() { return file.getTypedValue(Metric.NCSS, ZERO_NCSS).asInteger(); } diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModelTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModelTest.java index a10e2ad2..b14814d2 100644 --- a/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModelTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/coverage/metrics/steps/CoverageViewModelTest.java @@ -57,6 +57,8 @@ void shouldReportOverview() { .contains("title=\"edu/hm/hafner/util/", "data-bs-toggle=\"tooltip\" data-bs-placement=\"top\"")) ); + + assertThat(model.getTableRows(ABSOLUTE_COVERAGE_TABLE_ID)).startsWith("[{\"branchCoverage\":{\"display\":\"