IDEA-120117 Rearrange entries is not idempotent (and misplaces static fields) [CR-IC-4226]

This commit is contained in:
Yaroslav Lepenkin
2014-02-11 17:07:10 +04:00
parent 5d8f0b94b7
commit 1cf61ab414
2 changed files with 70 additions and 10 deletions
@@ -24,6 +24,7 @@ class JavaRearrangerFieldReferenceTest extends AbstractJavaRearrangerTest {
private List<StdArrangementMatchRule> defaultFieldsArrangement = [
rule(CLASS),
rule(FIELD, STATIC, FINAL),
rule(FIELD, PUBLIC),
rule(FIELD, PROTECTED),
rule(FIELD, PACKAGE_PRIVATE),
@@ -253,4 +254,50 @@ public class Alfa {
);
}
void "test field references work ok with enums"() {
doTest(
initial: '''\
public class Q {
private static final Q A = new Q(Q.E.EC);
private static final Q B = new Q(Q.E.EB);
private static final Q C = new Q(Q.E.EA);
private static final Q D = new Q(Q.E.EA);
private final E e;
private static final int seven = 7;
private Q(final Q.E e) {
this.e = e;
}
public static enum E {
EA,
EB,
EC,
}
}
''',
expected: '''\
public class Q {
private static final Q A = new Q(Q.E.EC);
private static final Q B = new Q(Q.E.EB);
private static final Q C = new Q(Q.E.EA);
private static final Q D = new Q(Q.E.EA);
private static final int seven = 7;
private final E e;
private Q(final Q.E e) {
this.e = e;
}
public static enum E {
EA,
EB,
EC,
}
}
''',
rules: defaultFieldsArrangement
)
}
}