Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<url>https://github.com/jenkinsci/code-coverage-api-plugin</url>

<properties>
<revision>4.3.0</revision>
<revision>4.2.2</revision>
<changelist>-SNAPSHOT</changelist>
<gitHubRepo>jenkinsci/code-coverage-api-plugin</gitHubRepo>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
import edu.hm.hafner.coverage.IntegerValue;
import edu.hm.hafner.coverage.Metric;
import edu.hm.hafner.coverage.Percentage;
import edu.hm.hafner.coverage.SafeFraction;
import edu.hm.hafner.coverage.Value;

import hudson.Functions;
Expand Down Expand Up @@ -348,7 +349,7 @@ public String formatDelta(final Fraction fraction, final Metric metric, final Lo
|| metric.equals(Metric.LOC)) {
return String.format(locale, "%+d", fraction.intValue());
}
return String.format(locale, "%+.2f%%", fraction.multiplyBy(HUNDRED).doubleValue());
return String.format(locale, "%+.2f%%", new SafeFraction(fraction).multiplyBy(HUNDRED).doubleValue());
}

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package io.jenkins.plugins.coverage.metrics.model;

import java.util.Locale;

import org.apache.commons.lang3.math.Fraction;
import org.junit.jupiter.api.Test;

import edu.hm.hafner.coverage.Metric;

import static org.assertj.core.api.Assertions.*;

class ElementFormatterTest {

Check notice

Code scanning / CodeQL

Unused classes and interfaces

Unused class: ElementFormatterTest is not referenced within this codebase. If not used as an external API it should be removed.
@Test
void shouldHandleOverflowGracefully() {
var formatter = new ElementFormatter();

var fraction = Fraction.getFraction(Integer.MAX_VALUE - 1, Integer.MAX_VALUE - 1);
var delta = formatter.formatDelta(fraction, Metric.LINE, Locale.ENGLISH);

assertThat(delta).isEqualTo("+100.00%");
}
}