Skip to content

Commit 35b3c3b

Browse files
committed
Version: toReleaseZeroPatch() added
ProgressConsole: indents added for each subline if line contains line breaks
1 parent 158f421 commit 35b3c3b

File tree

3 files changed

+40
-27
lines changed

3 files changed

+40
-27
lines changed

src/main/java/org/scm4j/commons/Version.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ public Version toRelease() {
162162
public String toReleaseString() {
163163
return toRelease().toString();
164164
}
165-
165+
166166
public Boolean isGreaterThan(Version other) {
167167
if (other.isEmpty()) {
168168
return !isEmpty();
@@ -216,4 +216,8 @@ public Version setPatch(String patch) {
216216
}
217217
return new Version(prefix + minor + (patch.isEmpty() ? "" : "." + patch) + snapshot);
218218
}
219+
220+
public Version toReleaseZeroPatch() {
221+
return toRelease().setPatch("0");
222+
}
219223
}

src/main/java/org/scm4j/commons/progress/ProgressConsole.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ public IProgress createNestedProgress(String name) {
7171
@Override
7272
public void reportStatus(String status) {
7373
indent(level + 1);
74-
print(status);
74+
print(status.replace("\r\n", "\r\n" + Strings.repeat("\t", level + 2)));
7575
}
7676

7777
@Override

src/test/java/org/scm4j/commons/VersionTest.java

+34-25
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import static org.junit.Assert.*;
77

88
public class VersionTest {
9-
9+
1010
@Test
1111
public void testMinor() {
1212
assertEquals(new Version("11.21.31.41").getMinor(), "31");
@@ -17,7 +17,7 @@ public void testMinor() {
1717
assertEquals(new Version("").getMinor(), "");
1818
assertEquals(new Version("-SNAPSHOT").getMinor(), "");
1919
}
20-
20+
2121
@Test
2222
public void testToString() {
2323
assertEquals(new Version("11.21.31.41").toString(), "11.21.31.41");
@@ -28,7 +28,7 @@ public void testToString() {
2828
assertEquals(new Version("").toString(), "");
2929
assertEquals(new Version("1..1").toString(), "1..1");
3030
}
31-
31+
3232
@Test
3333
public void testToReleaseString() {
3434
assertEquals(new Version("11.21.31.41-SNAPSHOT").toReleaseString(), "11.21.31.41");
@@ -37,17 +37,17 @@ public void testToReleaseString() {
3737
assertEquals(new Version("11.21").toReleaseString(), "11.21");
3838
assertEquals(new Version("11-SNAPSHOT").toReleaseString(), "11");
3939
assertEquals(new Version("-SNAPSHOT").toReleaseString(), "-SNAPSHOT");
40-
40+
4141
}
42-
42+
4343
@Test
4444
public void testSnapshot() {
4545
assertEquals(new Version("11.21.31.41").getSnapshot(), "");
4646
assertEquals(new Version("11.21.31.41-SNAPSHOT").getSnapshot(), "-SNAPSHOT");
4747
assertEquals(new Version("11.21.31.41-jkhkjhk").getSnapshot(), "");
4848
assertEquals(new Version("-SNAPSHOT").getSnapshot(), "-SNAPSHOT");
4949
}
50-
50+
5151
@Test
5252
public void testMinorBumping() {
5353
assertEquals(new Version("11.21.31.41").toPreviousMinor().toReleaseString(), "11.21.30.41");
@@ -73,22 +73,18 @@ public void testMinorBumping() {
7373
} catch (IllegalArgumentException e) {
7474
}
7575
}
76-
76+
7777
@Test
7878
public void testEmpty() {
7979
assertTrue(new Version("").isEmpty());
8080
assertFalse(new Version("11.21.31.41").isEmpty());
8181
}
82-
82+
8383
@Test
8484
public void testEqualsAndHashcode() {
85-
EqualsVerifier
86-
.forClass(Version.class)
87-
.withOnlyTheseFields("verStr")
88-
.usingGetClass()
89-
.verify();
85+
EqualsVerifier.forClass(Version.class).withOnlyTheseFields("verStr").usingGetClass().verify();
9086
}
91-
87+
9288
@Test
9389
public void testIsSnapshot() {
9490
assertTrue(new Version("11.12.13-SNAPSHOT").isSnapshot());
@@ -111,7 +107,7 @@ public void testToNextPatch() {
111107
assertEquals("11.12.14fgdfg-SNAPSHOT", new Version("11.12.14fgdfg-SNAPSHOT").toNextPatch().toString());
112108
assertEquals("13.1", new Version("13").toNextPatch().toString());
113109
}
114-
110+
115111
@Test
116112
public void testToPreviousPatch() {
117113
assertEquals("11.12.12-SNAPSHOT", new Version("11.12.13-SNAPSHOT").toPreviousPatch().toString());
@@ -130,35 +126,35 @@ public void testIsGreaterThan() {
130126
assertTrue(new Version("11.12.14-SNAPSHOT").isGreaterThan(new Version("11.12.13-SNAPSHOT")));
131127
assertTrue(new Version("11.12-SNAPSHOT").isGreaterThan(new Version("11.11-SNAPSHOT")));
132128
assertTrue(new Version("11-SNAPSHOT").isGreaterThan(new Version("10-SNAPSHOT")));
133-
129+
134130
assertFalse(new Version("").isGreaterThan(new Version("")));
135131
assertFalse(new Version("").isGreaterThan(new Version("11.12.13")));
136132
assertTrue(new Version("11.12.13").isGreaterThan(new Version("")));
137133
assertTrue(new Version("11.12.13").isGreaterThan(new Version("not semantic")));
138-
134+
139135
assertFalse(new Version("11.12.13-SNAPSHOT").isGreaterThan(new Version("11.12.14-SNAPSHOT")));
140136
assertFalse(new Version("11.12-SNAPSHOT").isGreaterThan(new Version("11.13-SNAPSHOT")));
141137
assertFalse(new Version("11-SNAPSHOT").isGreaterThan(new Version("12-SNAPSHOT")));
142138
}
143-
139+
144140
@Test
145141
public void testGetReleaseNoPatchString() {
146142
assertEquals("11.12.13", new Version("11.12.13.14-SNAPSHOT").getReleaseNoPatchString());
147143
assertEquals("11.12", new Version("11.12.13-SNAPSHOT").getReleaseNoPatchString());
148144
assertEquals("11", new Version("11.12-SNAPSHOT").getReleaseNoPatchString());
149145
assertEquals("11", new Version("11-SNAPSHOT").getReleaseNoPatchString());
150146
}
151-
147+
152148
@Test
153149
public void testToRelease() {
154150
assertEquals(new Version("11.21.31.41"), new Version("11.21.31.41-SNAPSHOT").toRelease());
155151
assertEquals(new Version("11.21.31.41"), new Version("11.21.31.41").toRelease());
156-
assertEquals(new Version("11.21.31"), new Version("11.21.31").toRelease());
152+
assertEquals(new Version("11.21.31"), new Version("11.21.31").toRelease());
157153
assertEquals(new Version("11.21"), new Version("11.21").toRelease());
158154
assertEquals(new Version("11"), new Version("11-SNAPSHOT").toRelease());
159155
assertEquals(new Version("-SNAPSHOT"), new Version("-SNAPSHOT").toRelease());
160156
}
161-
157+
162158
@Test
163159
public void toSnapshotString() {
164160
assertEquals("11.21.31.41-SNAPSHOT", new Version("11.21.31.41").toSnapshotString());
@@ -176,7 +172,7 @@ public void toSnapshot() {
176172
assertEquals(new Version("11-SNAPSHOT"), new Version("11").toSnapshot());
177173
assertEquals(new Version("asd-SNAPSHOT"), new Version("asd").toSnapshot());
178174
}
179-
175+
180176
@Test
181177
public void testIsExact() {
182178
assertFalse(new Version("11.23.31.41-SNAPSHOT").isExact());
@@ -185,7 +181,7 @@ public void testIsExact() {
185181
assertFalse(new Version("").isExact());
186182
assertFalse(new Version("dfgdfg-SNAPSHOT").isExact());
187183
}
188-
184+
189185
@Test
190186
public void testSetMinor() {
191187
assertEquals(new Version("12.13.14.15-SNAPSHOT"), new Version("12.13.13.15-SNAPSHOT").setMinor("14"));
@@ -195,13 +191,13 @@ public void testSetMinor() {
195191
new Version("-SNAPSHOT").setMinor("14");
196192
fail();
197193
} catch (IllegalStateException e) {
198-
194+
199195
}
200196
try {
201197
new Version("").setMinor("14");
202198
fail();
203199
} catch (IllegalStateException e) {
204-
200+
205201
}
206202
assertEquals(new Version("14-SNAPSHOT"), new Version("12-SNAPSHOT").setMinor("14"));
207203
}
@@ -223,7 +219,20 @@ public void testSetPatch() {
223219
fail();
224220
} catch (IllegalStateException e) {
225221
}
222+
}
226223

224+
@Test
225+
public void testToReleaseZeroPatch() {
226+
assertEquals(new Version("11.21.31.0"), new Version("11.21.31.41-SNAPSHOT").toReleaseZeroPatch());
227+
assertEquals(new Version("11.21.31.0"), new Version("11.21.31.41").toReleaseZeroPatch());
228+
assertEquals(new Version("11.21.0"), new Version("11.21.31").toReleaseZeroPatch());
229+
assertEquals(new Version("11.0"), new Version("11.21").toReleaseZeroPatch());
230+
assertEquals(new Version("11.0"), new Version("11-SNAPSHOT").toReleaseZeroPatch());
231+
try {
232+
assertEquals(new Version("-SNAPSHOT"), new Version("-SNAPSHOT").toReleaseZeroPatch());
233+
fail();
234+
} catch (IllegalStateException e) {
227235

236+
}
228237
}
229238
}

0 commit comments

Comments
 (0)