Skip to content

Commit 9b85580

Browse files
committed
ProgressConsole: nested trace fixed
1 parent 2ee1e1a commit 9b85580

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public void error(String message) {
9494

9595
@Override
9696
public void startTrace(String message) {
97-
indent(level + 1);
97+
indent(level + ((indent + name).isEmpty() ? 0 : 1));
9898
trace(message);
9999
}
100100

src/test/java/org/scm4j/commons/progress/ProgressConsoleTest.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,4 +106,19 @@ public void testEmpty() throws Exception {
106106
assertEquals("", pc.getOutdent());
107107
pc.close();
108108
}
109+
110+
public void testNestedTraceFromEmpty() throws Exception {
111+
PrintStream mockedOut = Mockito.mock(PrintStream.class);
112+
IProgress pc = new ProgressConsole(mockedOut, 0, "", "", "");
113+
try (IProgress pcNested = pc.createNestedProgress("")) {
114+
pcNested.startTrace(START_MESSAGE);
115+
pcNested.trace(TRACE);
116+
pcNested.endTrace(END_MESSAGE);
117+
}
118+
Mockito.verify(mockedOut).print("\t");
119+
Mockito.verify(mockedOut).print(START_MESSAGE);
120+
Mockito.verify(mockedOut).print(TRACE);
121+
Mockito.verify(mockedOut).println(END_MESSAGE);
122+
pc.close();
123+
}
109124
}

0 commit comments

Comments
 (0)