blob: f2b71328a3498550f89c8953cf3f86eb67706d08 [file] [log] [blame]
/*
* Copyright (c) 2000-2007 JetBrains s.r.o. All Rights Reserved.
*/
/*
* User: anna
* Date: 17-Oct-2007
*/
package com.intellij.refactoring;
import com.intellij.JavaTestUtil;
import com.intellij.codeInsight.CodeInsightTestCase;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.roots.ModuleRootModificationUtil;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiExpression;
import com.intellij.psi.PsiLocalVariable;
import com.intellij.psi.PsiModifier;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.refactoring.introduceField.BaseExpressionToFieldHandler;
import com.intellij.refactoring.introduceField.LocalToFieldHandler;
import com.intellij.util.PathUtil;
import org.junit.Before;
import java.io.File;
public class IntroduceFieldWitSetUpInitializationTest extends CodeInsightTestCase {
@Override
protected String getTestDataPath() {
return JavaTestUtil.getJavaTestDataPath();
}
@Override
protected Module createModule(final String name) {
final Module module = super.createModule(name);
final String url = VfsUtil.getUrlForLibraryRoot(new File(PathUtil.getJarPathForClass(Before.class)));
ModuleRootModificationUtil.addModuleLibrary(module, url);
return module;
}
public void testInSetUp() throws Exception {
doTest();
}
public void testInitiallyInSetUp() throws Exception {
doTest();
}
public void testPublicBaseClassSetUp() throws Exception {
doTest();
}
public void testBeforeExist() throws Exception {
doTest();
}
public void testBeforeNotExist() throws Exception {
doTest();
}
public void testBeforeNotExist1() throws Exception {
doTest();
}
public void testOrderInSetup() throws Exception {
doTest();
}
public void testBeforeExistNonAnnotated() throws Exception {
doTest();
}
private void doTest() throws Exception {
configureByFile("/refactoring/introduceField/before" + getTestName(false) + ".java");
final PsiLocalVariable local =
PsiTreeUtil.getParentOfType(getFile().findElementAt(getEditor().getCaretModel().getOffset()), PsiLocalVariable.class);
new LocalToFieldHandler(getProject(), false) {
@Override
protected BaseExpressionToFieldHandler.Settings showRefactoringDialog(final PsiClass aClass,
final PsiLocalVariable local,
final PsiExpression[] occurences,
final boolean isStatic) {
return new BaseExpressionToFieldHandler.Settings("i", null, occurences, true, false, false,
BaseExpressionToFieldHandler.InitializationPlace.IN_SETUP_METHOD,
PsiModifier.PRIVATE, local, local.getType(), true, (BaseExpressionToFieldHandler.TargetDestination)null, false,
false);
}
}.convertLocalToField(local, myEditor);
checkResultByFile("/refactoring/introduceField/after" + getTestName(false)+ ".java");
}
}