|
49 | 49 | public final class PrettyFormatter implements ConcurrentEventListener, ColorAware {
|
50 | 50 |
|
51 | 51 | private static final String SCENARIO_INDENT = "";
|
52 |
| - private static final String STEP_INDENT = " "; |
53 |
| - private static final String STEP_SCENARIO_INDENT = " "; |
| 52 | + private static final String STEP_INDENT = SCENARIO_INDENT + " "; |
| 53 | + private static final String STEP_SCENARIO_INDENT = STEP_INDENT + " "; |
| 54 | + private static final String STACK_TRACE_INDENT = STEP_SCENARIO_INDENT + " "; |
54 | 55 |
|
55 | 56 | private final Map<UUID, Integer> commentStartIndex = new HashMap<>();
|
56 | 57 |
|
@@ -120,7 +121,7 @@ private void preCalculateLocationIndent(TestCaseStarted event) {
|
120 | 121 | private void printTags(TestCaseStarted event) {
|
121 | 122 | List<String> tags = event.getTestCase().getTags();
|
122 | 123 | if (!tags.isEmpty()) {
|
123 |
| - out.println(PrettyFormatter.SCENARIO_INDENT + String.join(" ", tags)); |
| 124 | + out.println(SCENARIO_INDENT + String.join(" ", tags)); |
124 | 125 | }
|
125 | 126 | }
|
126 | 127 |
|
@@ -187,21 +188,23 @@ private String formatLocationComment(
|
187 | 188 |
|
188 | 189 | private void printError(TestStepFinished event) {
|
189 | 190 | Result result = event.getResult();
|
190 |
| - printError(result); |
| 191 | + printError(STACK_TRACE_INDENT, result); |
191 | 192 | }
|
192 | 193 |
|
193 | 194 | private void printError(TestRunFinished event) {
|
194 | 195 | Result result = event.getResult();
|
195 |
| - printError(result); |
| 196 | + printError(SCENARIO_INDENT, result); |
196 | 197 | }
|
197 | 198 |
|
198 |
| - private void printError(Result result) { |
| 199 | + private void printError(String prefix, Result result) { |
199 | 200 | Throwable error = result.getError();
|
200 | 201 | if (error != null) {
|
201 | 202 | String name = result.getStatus().name().toLowerCase(ROOT);
|
202 | 203 | Format format = formats.get(name);
|
203 | 204 | String text = printStackTrace(error);
|
204 |
| - out.println(" " + format.text(text)); |
| 205 | + // TODO: Java 12+ use String.indent |
| 206 | + String indented = text.replaceAll("(\r\n|\r|\n)", "$1" + prefix).trim(); |
| 207 | + out.println(prefix + format.text(indented)); |
205 | 208 | }
|
206 | 209 | }
|
207 | 210 |
|
|
0 commit comments