mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-01-09 08:09:39 +07:00
54 lines
2.3 KiB
Java
54 lines
2.3 KiB
Java
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
|
package com.intellij.uiDesigner;
|
|
|
|
import com.intellij.openapi.application.PluginPathManager;
|
|
import com.intellij.openapi.fileEditor.FileEditor;
|
|
import com.intellij.openapi.fileEditor.ex.FileEditorManagerEx;
|
|
import com.intellij.openapi.fileEditor.impl.EditorWindow;
|
|
import com.intellij.openapi.fileEditor.impl.FileEditorOpenOptions;
|
|
import com.intellij.openapi.project.DumbUnawareHider;
|
|
import com.intellij.openapi.vfs.VirtualFile;
|
|
import com.intellij.testFramework.DumbModeTestUtils;
|
|
import com.intellij.testFramework.FileEditorManagerTestCase;
|
|
import com.intellij.uiDesigner.designSurface.GuiEditor;
|
|
import com.intellij.uiDesigner.editor.UIFormEditor;
|
|
import com.intellij.util.ui.UIUtil;
|
|
|
|
import javax.swing.*;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @author Dmitry Avdeev
|
|
*/
|
|
public class FormOpeningTest extends FileEditorManagerTestCase {
|
|
public void testOpenInDumbMode() {
|
|
FileEditorManagerEx editorManager = FileEditorManagerEx.getInstanceEx(getProject());
|
|
VirtualFile file = myFixture.copyFileToProject("TestBorder.form");
|
|
GuiEditor editorComponent = DumbModeTestUtils.computeInDumbModeSynchronously(getProject(), () -> {
|
|
List<FileEditor> editors = editorManager.openFile(file, null, new FileEditorOpenOptions().withRequestFocus()).getAllEditors();
|
|
assertEquals(1, editors.size());
|
|
assertInstanceOf(editors.get(0), UIFormEditor.class);
|
|
JComponent component = getEditorComponent();
|
|
assertInstanceOf(component, DumbUnawareHider.class);
|
|
GuiEditor editor = UIUtil.uiTraverser(component).filter(GuiEditor.class).single();
|
|
assertNotNull("editor not found", editor);
|
|
|
|
assertFalse(editor.isVisible());
|
|
return editor;
|
|
});
|
|
|
|
assertTrue(editorComponent.isVisible());
|
|
}
|
|
|
|
private JComponent getEditorComponent() {
|
|
FileEditorManagerEx editorManager = FileEditorManagerEx.getInstanceEx(getProject());
|
|
EditorWindow window = editorManager.getSplitters().getCurrentWindow();
|
|
return (JComponent)((JComponent)window.getSelectedComposite().getComponent().getComponents()[0]).getComponents()[0];
|
|
}
|
|
|
|
@Override
|
|
protected String getTestDataPath() {
|
|
return PluginPathManager.getPluginHomePath("ui-designer") + "/testData";
|
|
}
|
|
}
|