mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
make test more predictable
This commit is contained in:
+8
-1
@@ -20,12 +20,16 @@ import com.intellij.openapi.application.PluginPathManager;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.roots.ContentEntry;
|
||||
import com.intellij.openapi.roots.ModifiableRootModel;
|
||||
import com.intellij.psi.xml.XmlFile;
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.PsiTestUtil;
|
||||
import com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.plugins.javaFX.fxml.codeInsight.inspections.JavaFxUnresolvedFxIdReferenceInspection;
|
||||
import org.jetbrains.plugins.javaFX.fxml.codeInsight.intentions.JavaFxInjectPageLanguageIntention;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
public class JavaFXQuickfixTest extends LightCodeInsightFixtureTestCase {
|
||||
public static final DefaultLightProjectDescriptor JAVA_FX_WITH_GROOVY_DESCRIPTOR = new DefaultLightProjectDescriptor() {
|
||||
@@ -66,7 +70,10 @@ public class JavaFXQuickfixTest extends LightCodeInsightFixtureTestCase {
|
||||
myFixture.configureByFile(getTestName(true) + ".fxml");
|
||||
final IntentionAction intention = myFixture.findSingleIntention("Specify page language");
|
||||
assertNotNull(intention);
|
||||
myFixture.launchAction(intention);
|
||||
Set<String> languages = JavaFxInjectPageLanguageIntention.getAvailableLanguages();
|
||||
assertContainsElements(languages, "groovy");
|
||||
JavaFxInjectPageLanguageIntention languageIntention = (JavaFxInjectPageLanguageIntention)intention;
|
||||
languageIntention.registerPageLanguage(getProject(), (XmlFile)myFixture.getFile(), "groovy");
|
||||
myFixture.checkResultByFile(getTestName(true) + ".fxml", getTestName(true) + "_after.fxml", true);
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -52,7 +52,7 @@ import java.util.TreeSet;
|
||||
public class JavaFxInjectPageLanguageIntention extends PsiElementBaseIntentionAction {
|
||||
public static final Logger LOG = Logger.getInstance("#" + JavaFxInjectPageLanguageIntention.class.getName());
|
||||
|
||||
private static Set<String> getAvailableLanguages(Project project) {
|
||||
public static Set<String> getAvailableLanguages() {
|
||||
final List<ScriptEngineFactory> engineFactories = new ScriptEngineManager().getEngineFactories();
|
||||
|
||||
final Set<String> availableNames = new TreeSet<String>();
|
||||
@@ -68,8 +68,8 @@ public class JavaFxInjectPageLanguageIntention extends PsiElementBaseIntentionAc
|
||||
if (!FileModificationService.getInstance().preparePsiElementsForWrite(element)) return;
|
||||
final XmlFile containingFile = (XmlFile)element.getContainingFile();
|
||||
|
||||
final Set<String> availableLanguages = getAvailableLanguages(project);
|
||||
if (availableLanguages.size() == 1 || ApplicationManager.getApplication().isUnitTestMode()) {
|
||||
final Set<String> availableLanguages = getAvailableLanguages();
|
||||
if (availableLanguages.size() == 1) {
|
||||
registerPageLanguage(project, containingFile, availableLanguages.iterator().next());
|
||||
} else {
|
||||
final JBList list = new JBList(availableLanguages);
|
||||
@@ -83,7 +83,7 @@ public class JavaFxInjectPageLanguageIntention extends PsiElementBaseIntentionAc
|
||||
}
|
||||
}
|
||||
|
||||
private void registerPageLanguage(final Project project, final XmlFile containingFile, final String languageName) {
|
||||
public void registerPageLanguage(final Project project, final XmlFile containingFile, final String languageName) {
|
||||
new WriteCommandAction.Simple(project, getFamilyName()) {
|
||||
@Override
|
||||
protected void run() {
|
||||
@@ -110,7 +110,7 @@ public class JavaFxInjectPageLanguageIntention extends PsiElementBaseIntentionAc
|
||||
|
||||
@Override
|
||||
public boolean isAvailable(@NotNull Project project, Editor editor, @NotNull PsiElement element) {
|
||||
if (ContainerUtil.isEmpty(getAvailableLanguages(project))) {
|
||||
if (ContainerUtil.isEmpty(getAvailableLanguages())) {
|
||||
return false;
|
||||
}
|
||||
setText(getFamilyName());
|
||||
|
||||
Reference in New Issue
Block a user