inplace introduce api: tests

This commit is contained in:
anna
2011-05-26 15:25:26 +04:00
parent 37e62fd372
commit a55dd09e68
3 changed files with 26 additions and 15 deletions
@@ -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);
}
@@ -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){
@@ -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<InplaceIntroduceFieldPopup>() {
@Override
public void pass(InplaceIntroduceFieldPopup inplaceIntroduceFieldPopup) {
inplaceIntroduceFieldPopup.setInitializeInFieldDeclaration();
inplaceIntroduceFieldPopup.setCreateFinal(true);
}
});
final boolean oldCreateFinals = IntroduceFieldCentralPanel.ourLastCbFinalState;
try {
IntroduceFieldCentralPanel.ourLastCbFinalState = false;
doTest(new Pass<InplaceIntroduceFieldPopup>() {
@Override
public void pass(InplaceIntroduceFieldPopup inplaceIntroduceFieldPopup) {
inplaceIntroduceFieldPopup.setInitializeInFieldDeclaration();
inplaceIntroduceFieldPopup.setCreateFinal(true);
}
});
assertTrue(IntroduceFieldCentralPanel.ourLastCbFinalState);
}
finally {
IntroduceFieldCentralPanel.ourLastCbFinalState = oldCreateFinals;
}
}
public void testReplaceAll() throws Exception {