1
1
package hudson .plugins .ansicolor .action ;
2
2
3
3
import hudson .plugins .ansicolor .JenkinsTestSupport ;
4
+ import jenkins .model .Jenkins ;
5
+ import org .junit .Ignore ;
4
6
import org .junit .Test ;
5
7
6
8
import java .util .Arrays ;
9
+ import java .util .HashMap ;
10
+ import java .util .Map ;
11
+ import java .util .Optional ;
12
+ import java .util .function .BooleanSupplier ;
7
13
8
14
public class ShortlogActionCreatorIntegrationTest extends JenkinsTestSupport {
9
15
private static final String AS_1K = repeat ("a" , 1024 );
@@ -12,15 +18,35 @@ public class ShortlogActionCreatorIntegrationTest extends JenkinsTestSupport {
12
18
private static final String DS_1K = repeat ("d" , 1024 );
13
19
14
20
@ Test
15
- public void canAnotateLongLogOutputInShortlog () {
21
+ public void canAnnotateLongLogOutputInShortlogLinesWholeFalse () {
16
22
final String script = "ansiColor('xterm') {\n " +
17
23
repeat ("echo '\033 [32m" + AS_1K + "\033 [0m'\n " , 150 ) +
18
24
"}" ;
19
- assertOutputOnRunningPipeline ("<span style=\" color: #00CD00;\" >" + AS_1K + "</span>" , "\033 " , script , true );
25
+ final Map <String , String > properties = new HashMap <>();
26
+ properties .put (ShortlogActionCreator .PROP_LINES_WHOLE , "false" );
27
+ BooleanSupplier brokenLinesJenkins = () -> Optional .ofNullable (Jenkins .getVersion ())
28
+ .orElse (ShortlogActionCreator .LINES_WHOLE_SINCE_VERSION )
29
+ .isOlderThan (ShortlogActionCreator .LINES_WHOLE_SINCE_VERSION );
30
+ assertOutputOnRunningPipeline (brokenLinesJenkins , "<span style=\" color: #00CD00;\" >" + AS_1K + "</span>" , "\033 " , script , true , properties );
20
31
}
21
32
22
33
@ Test
23
- public void canAnotateLongLogOutputInShortlogMultipleSteps () {
34
+ @ Ignore ("Needs adjustments for Jenkins > 2.260" )
35
+ public void canAnnotateLongLogOutputInShortlogLinesWholeTrue () {
36
+ final String script = "ansiColor('xterm') {\n " +
37
+ repeat ("echo '\033 [32m" + AS_1K + "\033 [0m'\n " , 150 ) +
38
+ "echo 'Abc'\n " +
39
+ "}" ;
40
+ final Map <String , String > properties = new HashMap <>();
41
+ properties .put (ShortlogActionCreator .PROP_LINES_WHOLE , "true" );
42
+ BooleanSupplier wholeLinesJenkins = () -> Optional .ofNullable (Jenkins .getVersion ())
43
+ .orElse (ShortlogActionCreator .LINES_WHOLE_SINCE_VERSION )
44
+ .isNewerThan (ShortlogActionCreator .LINES_WHOLE_SINCE_VERSION );
45
+ assertOutputOnRunningPipeline (wholeLinesJenkins , "<span style=\" color: #00CD00;\" >" + AS_1K + "</span>" , "\033 " , script , true , properties );
46
+ }
47
+
48
+ @ Test
49
+ public void canAnnotateLongLogOutputInShortlogMultipleStepsLinesWholeFalse () {
24
50
final String script = "echo '\033 [32mBeginning\033 [0m'\n " +
25
51
"ansiColor('vga') {\n " +
26
52
repeat (" echo '\033 [32m" + AS_1K + "\033 [0m'\n " , 10 ) +
@@ -34,6 +60,8 @@ public void canAnotateLongLogOutputInShortlogMultipleSteps() {
34
60
"}\n " +
35
61
"echo 'End'" ;
36
62
63
+ final Map <String , String > properties = new HashMap <>();
64
+ properties .put (ShortlogActionCreator .PROP_LINES_WHOLE , "false" );
37
65
assertOutputOnRunningPipeline (
38
66
Arrays .asList (
39
67
"<span style=\" color: #00CD00;\" >" + BS_1K + "</span>" ,
@@ -50,7 +78,46 @@ public void canAnotateLongLogOutputInShortlogMultipleSteps() {
50
78
"\033 [32m" + DS_1K + "\033 [0m"
51
79
),
52
80
script ,
53
- true
81
+ true ,
82
+ properties
83
+ );
84
+ }
85
+
86
+ @ Test
87
+ public void canAnnotateLongLogOutputInShortlogMultipleStepsLinesWholeTrue () {
88
+ final String script = "echo '\033 [32mBeginning\033 [0m'\n " +
89
+ "ansiColor('vga') {\n " +
90
+ repeat (" echo '\033 [32m" + AS_1K + "\033 [0m'\n " , 10 ) +
91
+ "}\n " +
92
+ "ansiColor('xterm') {\n " +
93
+ repeat (" echo '\033 [32m" + BS_1K + "\033 [0m'\n " , 30 ) +
94
+ "}\n " +
95
+ "ansiColor('css') {\n " +
96
+ repeat (" echo '\033 [32m" + CS_1K + "\033 [0m'\n " , 50 ) +
97
+ repeat (" echo '\033 [32m" + DS_1K + "\033 [0m'\n " , 50 ) +
98
+ "}\n " +
99
+ "echo 'End'" ;
100
+
101
+ final Map <String , String > properties = new HashMap <>();
102
+ properties .put (ShortlogActionCreator .PROP_LINES_WHOLE , "true" );
103
+ assertOutputOnRunningPipeline (
104
+ Arrays .asList (
105
+ "\033 [32m" + BS_1K + "\033 [0m" ,
106
+ "<span style=\" color: green;\" >" + CS_1K + "</span>" ,
107
+ "<span style=\" color: green;\" >" + DS_1K + "</span>" ,
108
+ "End"
109
+ ),
110
+ Arrays .asList (
111
+ "Beginning" ,
112
+ "<span style=\" color: #00AA00;\" >a" ,
113
+ "\033 [32m" + AS_1K + "\033 [0m" ,
114
+ "<span style=\" color: #00CD00;\" >" + BS_1K + "</span>" ,
115
+ "\033 [32m" + CS_1K + "\033 [0m" ,
116
+ "\033 [32m" + DS_1K + "\033 [0m"
117
+ ),
118
+ script ,
119
+ true ,
120
+ properties
54
121
);
55
122
}
56
123
}
0 commit comments