mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-15 02:59:33 +07:00
105 lines
3.8 KiB
Java
105 lines
3.8 KiB
Java
/*
|
|
* Copyright (c) 2000-2007 JetBrains s.r.o. All Rights Reserved.
|
|
*/
|
|
|
|
/*
|
|
* User: anna
|
|
* Date: 17-Oct-2007
|
|
*/
|
|
package com.intellij.refactoring;
|
|
|
|
import com.intellij.codeInsight.CodeInsightTestCase;
|
|
import com.intellij.openapi.application.ApplicationManager;
|
|
import com.intellij.openapi.module.Module;
|
|
import com.intellij.openapi.roots.ModifiableRootModel;
|
|
import com.intellij.openapi.roots.ModuleRootManager;
|
|
import com.intellij.openapi.roots.OrderRootType;
|
|
import com.intellij.openapi.roots.libraries.Library;
|
|
import com.intellij.openapi.roots.libraries.LibraryTable;
|
|
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 com.intellij.JavaTestUtil;
|
|
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);
|
|
ApplicationManager.getApplication().runWriteAction(new Runnable() {
|
|
public void run() {
|
|
final ModifiableRootModel model = ModuleRootManager.getInstance(module).getModifiableModel();
|
|
final LibraryTable.ModifiableModel modifiableModel = model.getModuleLibraryTable().getModifiableModel();
|
|
final Library library = modifiableModel.createLibrary("junit");
|
|
final Library.ModifiableModel libModel = library.getModifiableModel();
|
|
libModel.addRoot(VfsUtil.getUrlForLibraryRoot(new File(PathUtil.getJarPathForClass(Before.class))), OrderRootType.CLASSES);
|
|
libModel.commit();
|
|
model.commit();
|
|
}
|
|
});
|
|
|
|
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();
|
|
}
|
|
|
|
|
|
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", 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");
|
|
}
|
|
}
|