From a55dd09e68c0e2bd81c5fab5bfd1cd12884207ed Mon Sep 17 00:00:00 2001 From: anna Date: Thu, 26 May 2011 15:09:39 +0400 Subject: [PATCH] inplace introduce api: tests --- .../InplaceIntroduceFieldPopup.java | 2 ++ .../IntroduceFieldCentralPanel.java | 15 ++++++------ .../InplaceIntroduceFieldTest.java | 24 ++++++++++++------- 3 files changed, 26 insertions(+), 15 deletions(-) diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java index 27fdecbd9d98..0c97c072b3a9 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/InplaceIntroduceFieldPopup.java @@ -31,6 +31,7 @@ import com.intellij.refactoring.introduceParameter.VisibilityListener; import com.intellij.refactoring.introduceVariable.FinalListener; import com.intellij.refactoring.ui.TypeSelectorManagerImpl; import com.intellij.refactoring.util.occurences.OccurenceManager; +import org.jetbrains.annotations.TestOnly; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -146,6 +147,7 @@ public class InplaceIntroduceFieldPopup extends AbstractJavaInplaceIntroducer { myIntroduceFieldPanel.setReplaceAllOccurrences(replaceAllOccurrences); } + @TestOnly public void setCreateFinal(boolean createFinal) { myIntroduceFieldPanel.setCreateFinal(createFinal); } diff --git a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java index a0ab80afe925..8f66388444a7 100644 --- a/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java +++ b/java/java-impl/src/com/intellij/refactoring/introduceField/IntroduceFieldCentralPanel.java @@ -15,18 +15,17 @@ */ package com.intellij.refactoring.introduceField; -import com.intellij.codeInsight.TestUtil; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.psi.*; -import com.intellij.psi.util.PsiTreeUtil; +import com.intellij.psi.PsiClass; +import com.intellij.psi.PsiElement; +import com.intellij.psi.PsiExpression; +import com.intellij.psi.PsiLocalVariable; import com.intellij.psi.util.PsiUtil; -import com.intellij.refactoring.JavaRefactoringSettings; import com.intellij.refactoring.RefactoringBundle; -import com.intellij.refactoring.ui.JavaVisibilityPanel; import com.intellij.refactoring.ui.TypeSelectorManager; -import com.intellij.ui.IdeBorderFactory; import com.intellij.ui.NonFocusableCheckBox; import com.intellij.ui.StateRestoringCheckBox; +import org.jetbrains.annotations.TestOnly; import javax.swing.*; import javax.swing.event.ChangeListener; @@ -41,7 +40,7 @@ import java.awt.event.ItemListener; public abstract class IntroduceFieldCentralPanel { protected static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.introduceField.IntroduceFieldDialog"); - protected static boolean ourLastCbFinalState = false; + public static boolean ourLastCbFinalState = false; protected final PsiClass myParentClass; protected final PsiExpression myInitializerExpression; @@ -244,8 +243,10 @@ public abstract class IntroduceFieldCentralPanel { } } + @TestOnly public void setCreateFinal(boolean createFinal) { myCbFinal.setSelected(createFinal); + myCbFinal.setEnabled(true); } protected void enableFinal(boolean enable){ diff --git a/java/java-tests/testSrc/com/intellij/refactoring/InplaceIntroduceFieldTest.java b/java/java-tests/testSrc/com/intellij/refactoring/InplaceIntroduceFieldTest.java index c875062f789c..d002ba4a62ba 100644 --- a/java/java-tests/testSrc/com/intellij/refactoring/InplaceIntroduceFieldTest.java +++ b/java/java-tests/testSrc/com/intellij/refactoring/InplaceIntroduceFieldTest.java @@ -26,6 +26,7 @@ import com.intellij.psi.PsiLocalVariable; import com.intellij.psi.PsiModifier; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.introduceField.InplaceIntroduceFieldPopup; +import com.intellij.refactoring.introduceField.IntroduceFieldCentralPanel; import com.intellij.refactoring.introduceField.IntroduceFieldHandler; import com.intellij.testFramework.LightCodeInsightTestCase; import org.jetbrains.annotations.NotNull; @@ -48,14 +49,21 @@ public class InplaceIntroduceFieldTest extends LightCodeInsightTestCase { } public void testMakeFinal() throws Exception { - - doTest(new Pass() { - @Override - public void pass(InplaceIntroduceFieldPopup inplaceIntroduceFieldPopup) { - inplaceIntroduceFieldPopup.setInitializeInFieldDeclaration(); - inplaceIntroduceFieldPopup.setCreateFinal(true); - } - }); + final boolean oldCreateFinals = IntroduceFieldCentralPanel.ourLastCbFinalState; + try { + IntroduceFieldCentralPanel.ourLastCbFinalState = false; + doTest(new Pass() { + @Override + public void pass(InplaceIntroduceFieldPopup inplaceIntroduceFieldPopup) { + inplaceIntroduceFieldPopup.setInitializeInFieldDeclaration(); + inplaceIntroduceFieldPopup.setCreateFinal(true); + } + }); + assertTrue(IntroduceFieldCentralPanel.ourLastCbFinalState); + } + finally { + IntroduceFieldCentralPanel.ourLastCbFinalState = oldCreateFinals; + } } public void testReplaceAll() throws Exception {