Skip to content

Commit a09d510

Browse files
authored
Make trend charts theme-aware (#529)
1 parent 575f883 commit a09d510

File tree

4 files changed

+47
-8
lines changed

4 files changed

+47
-8
lines changed

pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@
1515
<properties>
1616
<changelist>999999-SNAPSHOT</changelist>
1717
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
18-
<jenkins.version>2.361.4</jenkins.version>
18+
<jenkins.baseline>2.387</jenkins.baseline>
19+
<jenkins.version>${jenkins.baseline}.1</jenkins.version>
1920
<no-test-jar>false</no-test-jar>
2021
</properties>
2122
<licenses>
@@ -198,7 +199,7 @@
198199
<dependencies>
199200
<dependency>
200201
<groupId>io.jenkins.tools.bom</groupId>
201-
<artifactId>bom-2.361.x</artifactId>
202+
<artifactId>bom-${jenkins.baseline}.x</artifactId>
202203
<version>2102.v854b_fec19c92</version>
203204
<scope>import</scope>
204205
<type>pom</type>

src/main/java/hudson/tasks/test/TestResultDurationChart.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@
44
import edu.hm.hafner.echarts.LineSeries;
55
import edu.hm.hafner.echarts.LinesChartModel;
66
import edu.hm.hafner.echarts.LinesDataSet;
7-
import edu.hm.hafner.echarts.Palette;
87
import hudson.tasks.junit.TestDurationResultSummary;
8+
import io.jenkins.plugins.echarts.JenkinsPalette;
9+
910
import java.util.List;
1011

1112
import static hudson.tasks.test.TestDurationTrendSeriesBuilder.SECONDS;
@@ -30,7 +31,7 @@ public LinesChartModel create(final Iterable results,
3031
private LinesChartModel getLinesChartModel(LinesDataSet dataSet) {
3132
LinesChartModel model = new LinesChartModel(dataSet);
3233

33-
LineSeries duration = new LineSeries(SECONDS, Palette.GREEN.getNormal(),
34+
LineSeries duration = new LineSeries(SECONDS, JenkinsPalette.GREEN.normal(),
3435
LineSeries.StackedMode.STACKED, LineSeries.FilledMode.FILLED);
3536
duration.addAll(dataSet.getSeries(SECONDS));
3637
model.addSeries(duration);

src/main/java/hudson/tasks/test/TestResultTrendChart.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
import edu.hm.hafner.echarts.LineSeries;
77
import edu.hm.hafner.echarts.LinesChartModel;
88
import edu.hm.hafner.echarts.LinesDataSet;
9-
import edu.hm.hafner.echarts.Palette;
109
import edu.umd.cs.findbugs.annotations.NonNull;
1110

1211
import hudson.tasks.junit.TrendTestResultSummary;
12+
import io.jenkins.plugins.echarts.JenkinsPalette;
1313

1414
import static hudson.tasks.test.TestResultTrendSeriesBuilder.*;
1515

@@ -56,17 +56,17 @@ private LinesChartModel getLinesChartModel(final LinesDataSet dataSet, final Pas
5656
LinesChartModel model = new LinesChartModel(dataSet);
5757

5858
LineSeries passed = new LineSeries("Passed",
59-
passedColor == PassedColor.BLUE ? Palette.BLUE.getNormal() : Palette.GREEN.getNormal(),
59+
passedColor == PassedColor.BLUE ? JenkinsPalette.BLUE.normal() : JenkinsPalette.GREEN.normal(),
6060
LineSeries.StackedMode.STACKED, LineSeries.FilledMode.FILLED);
6161
passed.addAll(dataSet.getSeries(PASSED_KEY));
6262
model.addSeries(passed);
6363

64-
LineSeries skipped = new LineSeries("Skipped", Palette.GRAY.getNormal(),
64+
LineSeries skipped = new LineSeries("Skipped", JenkinsPalette.GREY.normal(),
6565
LineSeries.StackedMode.STACKED, LineSeries.FilledMode.FILLED);
6666
skipped.addAll(dataSet.getSeries(SKIPPED_KEY));
6767
model.addSeries(skipped);
6868

69-
LineSeries failed = new LineSeries("Failed", Palette.RED.getNormal(),
69+
LineSeries failed = new LineSeries("Failed", JenkinsPalette.RED.normal(),
7070
LineSeries.StackedMode.STACKED, LineSeries.FilledMode.FILLED);
7171
failed.addAll(dataSet.getSeries(FAILED_KEY));
7272
model.addSeries(failed);
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package hudson.tasks.test;
2+
3+
import edu.hm.hafner.echarts.LineSeries;
4+
import hudson.tasks.junit.TrendTestResultSummary;
5+
import org.junit.jupiter.api.Test;
6+
7+
import java.util.List;
8+
import java.util.Map;
9+
10+
import static org.junit.jupiter.api.Assertions.assertEquals;
11+
import static org.mockito.Mockito.mock;
12+
import static org.mockito.Mockito.when;
13+
14+
class TestResultTrendChartTest {
15+
@Test
16+
void shouldUseCssColorsInChars() {
17+
var chart = new TestResultTrendChart();
18+
19+
var summary = mock(TrendTestResultSummary.class);
20+
21+
when(summary.getBuildNumber()).thenReturn(1);
22+
when(summary.getDisplayName()).thenReturn("test");
23+
when(summary.toMap()).thenReturn(Map.of("passed", 1, "failed", 2, "skipped", 3, "total", 6));
24+
25+
var greenModel = chart.create(List.of(summary), TestResultTrendChart.PassedColor.GREEN);
26+
verifyColors(greenModel.getSeries(), "--green");
27+
28+
var blueModel = chart.create(List.of(summary), TestResultTrendChart.PassedColor.BLUE);
29+
verifyColors(blueModel.getSeries(), "--blue");
30+
}
31+
32+
private void verifyColors(List<LineSeries> series, String passed) {
33+
assertEquals(passed, series.get(0).getItemStyle().getColor());
34+
assertEquals("--medium-grey", series.get(1).getItemStyle().getColor());
35+
assertEquals("--red", series.get(2).getItemStyle().getColor());
36+
}
37+
}

0 commit comments

Comments
 (0)