From 055d3bffc54a714fb4c228d5a152e7c3f5885e30 Mon Sep 17 00:00:00 2001 From: Yaroslav Lepenkin Date: Thu, 28 Nov 2013 16:43:09 +0400 Subject: [PATCH] added rearranger test for anonymous classes --- .../AbstractJavaRearrangerTest.groovy | 19 +++++++ .../JavaRearrangerAnonymousClassesTest.groovy | 51 +++++++++++++++++++ .../JavaRearrangerBlankLinesTest.groovy | 8 --- 3 files changed, 70 insertions(+), 8 deletions(-) create mode 100644 java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerAnonymousClassesTest.groovy diff --git a/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/AbstractJavaRearrangerTest.groovy b/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/AbstractJavaRearrangerTest.groovy index 7f6c641dc520..7ce8d402fba3 100644 --- a/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/AbstractJavaRearrangerTest.groovy +++ b/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/AbstractJavaRearrangerTest.groovy @@ -18,12 +18,31 @@ package com.intellij.psi.codeStyle.arrangement import com.intellij.ide.highlighter.JavaFileType import com.intellij.lang.java.JavaLanguage +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.CLASS +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.FIELD +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.FIELD +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.FIELD +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.INTERFACE +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.METHOD +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.EntryType.METHOD +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.Modifier.PUBLIC +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.Modifier.PUBLIC +import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.Modifier.STATIC + /** * @author Denis Zhdanov * @since 8/30/12 12:15 PM */ abstract class AbstractJavaRearrangerTest extends AbstractRearrangerTest { + def classic = [rule(INTERFACE), + rule(CLASS), + rule(FIELD, STATIC), + rule(FIELD, PUBLIC), + rule(FIELD), + rule(METHOD, PUBLIC), + rule(METHOD)] + AbstractJavaRearrangerTest() { fileType = JavaFileType.INSTANCE language = JavaLanguage.INSTANCE diff --git a/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerAnonymousClassesTest.groovy b/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerAnonymousClassesTest.groovy new file mode 100644 index 000000000000..3d79cd525cfd --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerAnonymousClassesTest.groovy @@ -0,0 +1,51 @@ +/* + * Copyright 2000-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.psi.codeStyle.arrangement + +class JavaRearrangerAnonymousClassesTest extends AbstractJavaRearrangerTest { + + public void "test rearrangement doesn't brake anon classes alignment"() { + + def text = '''\ +public class Test { + public static void main(String[] args) { + Action action1 = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + } + }; + Action action2 = new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + } + }; + } +} +''' + doTest( + initial: text, + expected: text, + rules: classic + ) + } + + + + + + + +} diff --git a/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerBlankLinesTest.groovy b/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerBlankLinesTest.groovy index 8f64026800ac..2ceb83ffa52c 100644 --- a/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerBlankLinesTest.groovy +++ b/java/java-tests/testSrc/com/intellij/psi/codeStyle/arrangement/JavaRearrangerBlankLinesTest.groovy @@ -24,14 +24,6 @@ import static com.intellij.psi.codeStyle.arrangement.std.StdArrangementTokens.Mo */ public class JavaRearrangerBlankLinesTest extends AbstractJavaRearrangerTest { - def classic = [rule(INTERFACE), - rule(CLASS), - rule(FIELD, STATIC), - rule(FIELD, PUBLIC), - rule(FIELD), - rule(METHOD, PUBLIC), - rule(METHOD)] - void testPreserveRelativeBlankLines() { commonSettings.BLANK_LINES_AROUND_CLASS = 2 commonSettings.BLANK_LINES_AROUND_FIELD = 1