mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-178428 Support unescaping JSON strings in Analyze stacktrace
This commit is contained in:
@@ -311,7 +311,8 @@ public class UnscrambleDialog extends DialogWrapper {
|
||||
public static String normalizeText(@NonNls String text) {
|
||||
StringBuilder builder = new StringBuilder(text.length());
|
||||
|
||||
text = text.replaceAll("(\\S[ \\t\\x0B\\f\\r]+)(at\\s+)", "$1\n$2");
|
||||
text = StringUtil.convertLineSeparators(StringUtil.unescapeStringCharacters(text))
|
||||
.replaceAll("(\\S[ \\t\\x0B\\f\\r]+)(at\\s+)", "$1\n$2");
|
||||
String[] lines = text.split("\n");
|
||||
|
||||
boolean first = true;
|
||||
|
||||
@@ -198,6 +198,17 @@ nid=0x898 runnable [0x4424f000]
|
||||
assert ThreadDumpParser.parse(UnscrambleDialog.normalizeText(text)).size() == 2
|
||||
}
|
||||
|
||||
void testJsonEscapes() {
|
||||
doTest '''\
|
||||
"error": "java.lang.RuntimeException: Error creating table\\n\\tat org.kablambda.aws.dynamodb.DBImpl.createTable(DBImpl.java:63)\\n\\tat org.kablambda.aws.handler.InstallHandler.lambda$new$1(InstallHandler.java:16)\\n\\tat org.kablambda.aws.handler.PathHandler.handle(PathHandler.java:26)\\n\\tat
|
||||
''', '''\
|
||||
"error": "java.lang.RuntimeException: Error creating table
|
||||
\tat org.kablambda.aws.dynamodb.DBImpl.createTable(DBImpl.java:63)
|
||||
\tat org.kablambda.aws.handler.InstallHandler.lambda$new$1(InstallHandler.java:16)
|
||||
\tat org.kablambda.aws.handler.PathHandler.handle(PathHandler.java:26)
|
||||
\tat'''
|
||||
}
|
||||
|
||||
private static void doTest(@NonNls String stackTrace, @NonNls String expected) {
|
||||
String normalized = UnscrambleDialog.normalizeText(stackTrace)
|
||||
assertEquals(expected, normalized)
|
||||
|
||||
Reference in New Issue
Block a user