mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-19 13:02:30 +07:00
[coverage] IDEA-340739 Wrap line breaks in the hint view
GitOrigin-RevId: 72753c272f1b4f46851ceb4981594d6836a03522
This commit is contained in:
committed by
intellij-monorepo-bot
parent
3d5000818f
commit
cd23038dbb
@@ -79,6 +79,7 @@ import java.util.stream.IntStream;
|
||||
public class JavaCoverageEngine extends CoverageEngine {
|
||||
private static final Logger LOG = Logger.getInstance(JavaCoverageEngine.class.getName());
|
||||
private static final String indent = " ";
|
||||
private static final int MAX_EXPRESSION_LENGTH = 100;
|
||||
|
||||
public static JavaCoverageEngine getInstance() {
|
||||
return EP_NAME.findExtensionOrFail(JavaCoverageEngine.class);
|
||||
@@ -585,8 +586,17 @@ public class JavaCoverageEngine extends CoverageEngine {
|
||||
return buf.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Try to remove line breaks from expression for better visibility.
|
||||
* As the resulting expression can become too long, the modification is made only for short expressions.
|
||||
*/
|
||||
private static String preprocessExpression(String expression) {
|
||||
String preprocessed = expression.replaceAll("[\\s\n]+", " ");
|
||||
return preprocessed.length() > MAX_EXPRESSION_LENGTH ? expression : preprocessed;
|
||||
}
|
||||
|
||||
private static void addJumpDataInfo(StringBuilder buf, JumpData jumpData, ConditionCoverageExpression expression) {
|
||||
buf.append("\n").append(indent).append(expression.getExpression());
|
||||
buf.append("\n").append(indent).append(preprocessExpression(expression.getExpression()));
|
||||
boolean reverse = expression.isReversed();
|
||||
int trueHits = reverse ? jumpData.getFalseHits() : jumpData.getTrueHits();
|
||||
buf.append("\n").append(indent).append(indent).append(PsiKeyword.TRUE).append(" ").append(CoverageBundle.message("hits.message", trueHits));
|
||||
@@ -596,7 +606,7 @@ public class JavaCoverageEngine extends CoverageEngine {
|
||||
}
|
||||
|
||||
private static void addSwitchDataInfo(StringBuilder buf, SwitchData switchData, SwitchCoverageExpression expression, int coverageStatus) {
|
||||
buf.append("\n").append(indent).append(expression.getExpression());
|
||||
buf.append("\n").append(indent).append(preprocessExpression(expression.getExpression()));
|
||||
boolean allBranchesHit = true;
|
||||
for (int i = 0; i < switchData.getKeys().length; i++) {
|
||||
String key = expression.getCases() != null && i < expression.getCases().size()
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -41,7 +41,7 @@ Line 24 coverage: FULL
|
||||
Hits: 1
|
||||
Line 31 coverage: PARTIAL
|
||||
Hits: 1
|
||||
y + /* comment */x
|
||||
y + /* comment */x
|
||||
case 1: 1
|
||||
case 2: 0
|
||||
default: 0
|
||||
|
||||
@@ -14,9 +14,7 @@ Line 13 coverage: FULL
|
||||
Hits: 1
|
||||
Line 15 coverage: PARTIAL
|
||||
Hits: 1
|
||||
x
|
||||
==
|
||||
1
|
||||
x == 1
|
||||
true hits: 1
|
||||
false hits: 0
|
||||
Line 17 coverage: FULL
|
||||
@@ -85,9 +83,7 @@ Line 49 coverage: FULL
|
||||
Hits: 1
|
||||
Line 51 coverage: PARTIAL
|
||||
Hits: 1
|
||||
0
|
||||
until
|
||||
n
|
||||
0 until n
|
||||
true hits: 1
|
||||
false hits: 0
|
||||
Line 58 coverage: FULL
|
||||
@@ -104,9 +100,7 @@ Line 69 coverage: FULL
|
||||
Hits: 1
|
||||
Line 71 coverage: PARTIAL
|
||||
Hits: 1
|
||||
i
|
||||
<
|
||||
n
|
||||
i < n
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
Line 79 coverage: FULL
|
||||
@@ -117,9 +111,7 @@ Line 84 coverage: FULL
|
||||
Hits: 1
|
||||
Line 86 coverage: PARTIAL
|
||||
Hits: 1
|
||||
i++
|
||||
<
|
||||
n
|
||||
i++ < n
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
Line 90 coverage: FULL
|
||||
@@ -131,8 +123,7 @@ Hits: 1
|
||||
a != null
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
a
|
||||
?: b != null
|
||||
a ?: b != null
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
Line 95 coverage: FULL
|
||||
@@ -142,8 +133,7 @@ Hits: 2
|
||||
h(a) != null
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
h(a)
|
||||
?: h(b) != null
|
||||
h(a) ?: h(b) != null
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
Line 98 coverage: FULL
|
||||
@@ -160,8 +150,31 @@ Hits: 3
|
||||
Unknown outcome: 2
|
||||
Line 104 coverage: PARTIAL
|
||||
Hits: 3
|
||||
a
|
||||
?.g() != null
|
||||
a ?.g() != null
|
||||
true hits: 1
|
||||
false hits: 0
|
||||
Unknown outcome: 2
|
||||
Line 106 coverage: FULL
|
||||
Hits: 3
|
||||
Line 107 coverage: FULL
|
||||
Hits: 1
|
||||
Line 108 coverage: PARTIAL
|
||||
Hits: 3
|
||||
a != null
|
||||
true hits: 1
|
||||
false hits: 0
|
||||
Unknown outcome: 2
|
||||
Line 109 coverage: PARTIAL
|
||||
Hits: 3
|
||||
a ?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName() != null
|
||||
true hits: 1
|
||||
false hits: 0
|
||||
Unknown outcome: 2
|
||||
Line 110 coverage: PARTIAL
|
||||
Hits: 3
|
||||
a
|
||||
?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName()
|
||||
?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName() != null
|
||||
true hits: 1
|
||||
false hits: 0
|
||||
Unknown outcome: 2
|
||||
|
||||
@@ -70,9 +70,7 @@ Line 52 coverage: FULL
|
||||
Hits: 1
|
||||
Line 54 coverage: PARTIAL
|
||||
Hits: 1
|
||||
i
|
||||
<
|
||||
n
|
||||
i < n
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
Line 64 coverage: PARTIAL
|
||||
@@ -84,9 +82,7 @@ Line 70 coverage: FULL
|
||||
Hits: 1
|
||||
Line 72 coverage: PARTIAL
|
||||
Hits: 1
|
||||
i
|
||||
<
|
||||
n
|
||||
i < n
|
||||
true hits: 0
|
||||
false hits: 1
|
||||
Line 83 coverage: FULL
|
||||
|
||||
@@ -118,3 +118,16 @@ Covered 1/2 branches
|
||||
Line 104 coverage: PARTIAL
|
||||
Hits: 1
|
||||
Covered 1/2 branches
|
||||
Line 106 coverage: FULL
|
||||
Hits: 1
|
||||
Line 107 coverage: FULL
|
||||
Hits: 1
|
||||
Line 108 coverage: PARTIAL
|
||||
Hits: 1
|
||||
Covered 1/2 branches
|
||||
Line 109 coverage: PARTIAL
|
||||
Hits: 1
|
||||
Covered 1/2 branches
|
||||
Line 110 coverage: PARTIAL
|
||||
Hits: 1
|
||||
Covered 1/2 branches
|
||||
|
||||
@@ -102,4 +102,10 @@ class KtLineBreaks {
|
||||
fun testSafeCallSequence(a: Int?) = a
|
||||
?.g()
|
||||
?.g()
|
||||
|
||||
private fun <T> T?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName(): T? = this
|
||||
fun testSafeCallSequenceLongNames(a: Int?) = a
|
||||
?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName()
|
||||
?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName()
|
||||
?.veryVeryVeryVeryVeryVeryVeryVeryVeryVeryVeryLongMethodName()
|
||||
}
|
||||
|
||||
@@ -34,5 +34,6 @@ public class LineBreaksTest extends TestCase {
|
||||
l.testNullCheckVariables(null, null);
|
||||
l.testNullCheckMethods(null, null);
|
||||
l.testSafeCallSequence(1);
|
||||
l.testSafeCallSequenceLongNames(1);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user