Bug 539887: [JUnit] "Copy Failure List" contains empty lines
Change-Id: I03d5a7ea7bbc7b461575527ea9093e51d161e8fd
Also-by: Andrey Loskutov <loskutov@gmx.de>
Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.ui/+/178709
Tested-by: JDT Bot <jdt-bot@eclipse.org>
Reviewed-by: Noopur Gupta <noopur_gupta@in.ibm.com>
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java
index c990b6f..94411f8 100644
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java
+++ b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/CopyFailureListAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2010 IBM Corporation and others.
+ * Copyright (c) 2000, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -66,26 +66,16 @@
StringBuilder buf= new StringBuilder();
TestElement[] failures= fRunner.getAllFailures();
- String lineDelim= System.getProperty("line.separator", "\n"); //$NON-NLS-1$//$NON-NLS-2$
+ String lineDelim= System.lineSeparator();
for (TestElement failure : failures) {
buf.append(failure.getTestName()).append(lineDelim);
String failureTrace= failure.getTrace();
if (failureTrace != null) {
- int start= 0;
- while (start < failureTrace.length()) {
- int idx= failureTrace.indexOf('\n', start);
- if (idx != -1) {
- String line= failureTrace.substring(start, idx);
- buf.append(line).append(lineDelim);
- start= idx + 1;
- } else {
- start= Integer.MAX_VALUE;
- }
- }
+ failureTrace = failureTrace.replaceAll("\\r\\n|\\r|\\n", lineDelim); //$NON-NLS-1$
+ buf.append(failureTrace);
}
}
return buf.toString();
}
-
}